Xcode不会为SPM依赖项生成DYSM文件

12

Xcode没有为我三个SPM依赖项生成dSYM文件。

我尝试创建一个仅包含Swift的项目,并包含一个像CocoaLumberJack这样的SPM包,但即使在发布版本中也没有dSYM。

我正在使用Xcode 12.0.1,我查看了所有类型的构建设置,但无法强制生成它们或找到Xcode生成它们的位置。


1
没有,自那以后我就没有尝试过。但是发布文档中似乎也没有涉及到这个问题。这很遗憾,因为这是唯一阻止我们公司几乎全部转移到SPM的问题。 - GlorySaber
有人解决了这个问题吗? - Cam Scen
我也卡在这个问题上了,这里有任何更新吗? - rmigneco
可能是静态库,所以不需要 dysm。https://dev59.com/E1UL5IYBdhLWcg3wQWOD - ChanOnly123
你测试过TestFlight获取dSYM文件吗?还可以查看这个解决方案 https://dev59.com/6sDqa4cB1Zd3GeqPhJl9 - Ali Momeni
显示剩余2条评论
1个回答

2
默认情况下,Swift 包被视为静态库,这就是为什么您在“框架、库和嵌入式内容”部分中看不到它们的嵌入选项的原因。

Swift static package

静态库不需要单独的dSYM文件,因为它们没有可执行文件。它们直接包含在消费应用程序的可执行文件中,因此静态库符号将在应用程序的dSYM文件中可用。如果您检查应用程序的ipa文件,您不会在Frameworks目录中找到Swift软件包模块。
您还可以通过指定库类型为.dynamic来使您的Swift软件包公开产品动态库:
.library(
    name: "SwiftLibrary",
    type: .dynamic,
    targets: ["SwiftLibrary"]
),

这将使您的包模块动态库,并允许您在XCode中选择嵌入选项:

Swift dynamic package

如果您将包模块设置为动态文件,您可以检查IPA文件并在其中的Frameworks文件夹中找到它。将包模块设置为动态文件后,将会生成一个单独的dSYM文件。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接