【发布时间】:2018-09-30 09:29:08
【问题描述】:
对于我的 iOS 应用,我使用 Jenkins 来分发我的测试版本。我使用 Fabric 进行崩溃报告。我在 Jenkins 上运行后期构建脚本,将 ipa、发行说明和 DSYM 上传到 Fabric。这是我用来上传 DSYM 的脚本:
${WORKSPACE}/Pods/Fabric/upload-symbols -a {api-key} -p ios ${WORKSPACE}/artifacts/TestDebug-iphoneos/${PROJECT_NAME}.app.dSYM
在 Jenkins 的构建日志中我看到:
upload-symbols[91261:22647730] 在 dSYM 中成功提交了具有 UUID {uuid1} 的架构 arm64 的符号:/Users/jenkins/build/workspace/{my_app}/artifacts/TestDebug-iphoneos/Myapp.app.dSYM
upload-symbols[91261:22647730] 在 dSYM 中成功提交了 UUID {uuid2} 的架构 armv7 符号:/Users/jenkins/build/workspace/{my_app}/artifacts/TestDebug-iphoneos/Myapp.app.dSYM
但是,我仍然看到 Fabric 上缺少 DSYM。我查看了 Fabric 缺少的 UUID,它们与我的构建机器上的任何东西都不匹配。它们都不匹配我上面构建日志中的 uuid1 或 uuid2。
有人遇到过同样的问题吗?
非常感谢任何形式的帮助!
【问题讨论】:
-
来自 Fabric 的 Mike。可能会发生很多事情,但让我们从几个关于 dSYM 的基本问题开始。除了 Fabric 之外,您还在使用 Bitcode 并将应用程序分发到 TestFlight 吗?
-
嗨,迈克,我们不是通过 TestFlight 分发应用程序
-
知道了,接下来要检查的是是否链接了任何静态框架,如果有,请检查以下设置? “复制期间剥离调试符号”-> NO“剥离链接产品”-> NO“使用单独的条带”-> NO
-
在我的例子中是“Strip Linked Product” -> 是的,在编辑中查看图片
-
天啊!!!我想我明白了...我使用了这个脚本,而不是以前使用的那个:find ${WORKSPACE}/artifacts/MyApp.xcarchive/dSYMs -name "*.dSYM" | xargs -I \{\} ${WORKSPACE}/Pods/Fabric/upload-symbols -a
-p ios \{\}
标签: ios jenkins crashlytics google-fabric