Xcode 不会为 SPM 依赖项生成 DYSM

Glo*_*ber 9 xcode dsym swift swift-package-manager

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

我曾尝试创建一个新的仅 Swift 项目并包含一个像 CocoaLumberJack 这样的 SPM 包,即使在那里我也没有获得 dSYM 以供发布。

我正在使用 Xcode 12.0.1,我已经查看了各种构建设置,但没有运气强制生成它们,或者找到 Xcode 将它们放在何处(如果它正在生成它们)。

Sou*_*unt 2

默认情况下,Swift 包被视为静态库,这就是为什么您在以下部分中看不到它们的嵌入选项Frameworks, Libraries, and Embedded Content

斯威夫特静态包

静态库不需要单独的 dSYM 文件,因为它们没有任何可执行文件。它们直接包含在消费应用程序可执行文件中,因此静态库符号将在应用程序的 dSYM 文件中可用。如果您检查应用程序的 ipa,您将在目录中找不到 swift 包模块Frameworks

您还可以通过将库指定type.dynamic

.library(
    name: "SwiftLibrary",
    type: .dynamic,
    targets: ["SwiftLibrary"]
),
Run Code Online (Sandbox Code Playgroud)

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

Swift 动态包

如果您将包模块设为动态,则可以检查您的 ipa 以查看其嵌入在Frameworks文件夹中。使您的包模块动态化后,将为您生成单独的 dSYM 文件。