我手头有一个 Xcode 项目,由许多静态库和一个使用它们的 iOS 应用程序组成(我们不打算发布这些库)。其中一部分是基于 Google Breakpad 的崩溃报告实现。
我们发现的一个问题是,我们没有从我们的版本中获取库的崩溃报告中的行号信息。这些是使用生成的xcodebuild archive -project ${PROJECT_PATH} -scheme ${SCHEME_NAME} -archivePath ${OUTPUT_PATH} -UseModernBuildSystem=NO -IDEBuildingContinueBuildingAfterErrors=YES
。编辑:使用 Xcode 12。
如果我使用相同的选项archive
xcodebuild build
(当然除外)运行操作而不是 ,archivePath
或者在 IDE 中构建项目,那么我将获得完整的符号信息并且一切正常(至少在 iOS 模拟器上进行测试)。这似乎是唯一的区别——当然,我仍然需要以某种方式生成 .ipa。
构建选项在所有库和应用程序之间共享,包括以下内容:
COPY_PHASE_STRIP = YES
DEPLOY_POSTPROCESSING = YES
SEPARATE_STRIP = YES # tried to change each of these to NO in various permutations; no difference.
STRIP_STYLE = non-global
build
关于剥离,the和archive
action 执行的步骤有什么区别?
如何从 .ipa 的工件创建 .ipa xcodebuild build
,或者以其他方式强制xcodebuild archive
省略/延迟剥离,以便在我转储符号后可以手动执行该操作?
值得一提的是,我也尝试了这些xcodebuild
操作的组合,即clean build archive
在一个或单独的步骤中 - 没有区别。
(FWIW,我意识到从 Xcode 8.3 开始,该PackageApplication
命令已xcrun
被弃用。)