xcodebuild - 设置构建目录不会生成 dSYM
Posted
技术标签:
【中文标题】xcodebuild - 设置构建目录不会生成 dSYM【英文标题】:xcodebuild - setting build dir doesn't generate dSYM 【发布时间】:2014-02-18 10:05:29 【问题描述】:我正在通过命令行使用 xcodebuild (xcode 5) 进行存档,如下所示:
xcodebuild -project MyProject.xcodeproj -scheme MyScheme -sdk iphoneos7.0 -configuration Release archive CODE_SIGN_IDENTITY="iPhone Distribution: My ID" -archivePath archive/MyArchive.xcarchive -xcconfig Config/MyReleaseConfig.xcconfig CONFIGURATION_BUILD_DIR=$SRCROOT/build/$CONFIGURATION$EFFECTIVE_PLATFORM_NAME
当我运行它时,我得到了我的 xcarchive 生成并且控制台输出似乎没问题。但是,当我浏览存档的内容时,dSYM 下没有任何内容。项目设置验证正常。如果我运行与上面相同的命令但省略CONFIGURATION_BUILD_DIR
位,我会按预期得到 dSYM。你知道是否有解决方案(即是否应该设置其他任何东西)。我想控制构建目录。
编辑:
我已经尝试从命令行显式设置(而不是在我的方案设置中):
DEBUG_INFORMATION_FORMAT="dwarf-with-dsym"
和 后处理为YES。还是不开心。
谢谢。
【问题讨论】:
【参考方案1】:再次检查构建设置。看看 Debug Information Format,它应该有 DWARF 和 dSYM 文件
更多信息请查看OS X Man Pages xcodebuild 和Xcode Build Setting Reference
【讨论】:
构建设置很好,当 CONFIGURATION_BUILD_DIR 被删除时,我得到了 dSYM。 尝试附加这个:DEBUG_INFORMATION_FORMAT="dwarf-with-dsym" 也许,事实上,一个dSYM文件是在.app之外的地方生成的?检查环境变量,尤其是 DWARF_DSYM_FOLDER_PATH 和 DWARF_DSYM_FILE_NAME。要将 dSYM 嵌入到应用程序包中,只需将 DWARF_DSYM_FOLDER_PATH 设置为 $(CONFIGURATION_BUILD_DIR)/$(EXECUTABLE_FOLDER_PATH) 并将 DWARF_DSYM_FILE_NAME 设置为 $(EXECUTABLE_NAME).dSYM。 设置 DWARF_DSYM_FOLDER_PATH 效果很好 :) 谢谢,非常感谢! 如果您能更明确地说明您如何将DWARF_DSYM_FOLDER_PATH
合并到您的命令中,我将不胜感激。【参考方案2】:
xcodebuild -project MyProject.xcodeproj -scheme MyScheme -sdk iphoneos7.0 -configuration Release archive CODE_SIGN_IDENTITY="iPhone Distribution: My ID" -archivePath archive/MyArchive.xcarchive -xcconfig Config/MyReleaseConfig.xcconfig CONFIGURATION_BUILD_DIR=$SRCROOT/build/$CONFIGURATION$EFFECTIVE_PLATFORM_NAME
你在 MyReleaseConfig.xcconfig 中关于 DEBUG_INFORMATION_FORMAT 的配置是什么?
【讨论】:
MyReleaseConfig.xcconfig 是 Xcode 的配置,一般是 cocoaPods 生成的,我读的时候会记录一些链接信息等以上是关于xcodebuild - 设置构建目录不会生成 dSYM的主要内容,如果未能解决你的问题,请参考以下文章
Xcodebuild 在 cordova ios 项目中停止
如何将旧版构建系统与 Xcode 10 的“xcodebuild”一起使用?