简体   繁体   English

即使构建设置具有调试信息格式 = Dwarf with dSYM,Xcode 也不会生成所有必需的 dSYM

[英]Xcode not generating all required dSYMs even though Build Settings have Debug Information Format = Dwarf with dSYM

Xcode is generating one dsym, which has the name of my app as the filename (eg MyApp.app.dSYM ), but it's not generating the other dsyms with the UUIDs that Firebase is constantly telling me that I'm missing. Xcode 正在生成一个 dsym,它以我的应用程序的名称作为文件名(例如MyApp.app.dSYM ),但它没有使用 Firebase 不断告诉我我丢失的 UUID 生成其他 dsym。 (eg 92248A4B-6CA2-3B54-9787-C007E25C018F.dSYM ) (例如92248A4B-6CA2-3B54-9787-C007E25C018F.dSYM

I've followed the instructions, but something is still wrong.我已按照说明进行操作,但仍有问题。 This was working when we were using Fabric, but since we updated to use Firebase directly, nothing is really working properly anymore.这在我们使用 Fabric 时是有效的,但由于我们更新为直接使用 Firebase,所以没有任何东西真正正常工作了。

关于缺少 dsyms 的 firebase 错误的屏幕截图

I've followed the instructions on how to change the Build Settings to make sure the dSYMs get generated , but my Build Settings were already updated like that when I following the migration instructions from Fabric to Firebase.我已经按照有关如何更改构建设置以确保生成 dSYM的说明进行了操作,但是当我按照从 Fabric 到 Firebase 的迁移说明进行操作时,我的构建设置已经像这样更新了。 Here is a screenshot of my Build Settings:这是我的构建设置的屏幕截图:

构建设置的屏幕截图

Here is a screenshot of my Run Script Build Phase:这是我的运行脚本构建阶段的屏幕截图:

运行脚本构建阶段的屏幕截图

In the Archive Build Log, the only reference to generating dSYMs is for the one MyApp.app.dSYM that I get, but I need the others generated too.在存档构建日志中,生成 dSYM 的唯一参考是针对我获得的一个MyApp.app.dSYM ,但我也需要生成其他的。

GenerateDSYMFile /Users/kenny/Library/Developer/Xcode/DerivedData/MyApp-dttbmiamkojuotbcyjgzerxhcqun/Build/Intermediates.noindex/ArchiveIntermediates/MyApp/BuildProductsPath/Release-iphoneos/MyApp.app.dSYM /Users/kenny/Library/Developer/Xcode/DerivedData/MyApp-dttbmiamkojuotbcyjgzerxhcqun/Build/Intermediates.noindex/ArchiveIntermediates/MyApp/InstallationBuildProductsLocation/Applications/MyApp.app/MyApp (in target 'MyApp' from project 'MyApp') cd /Users/kenny/inaday2/svn-MyApp/trunk/apps/iOS/MyApp /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/dsymutil /Users/kenny/Library/Developer/Xcode/DerivedData/MyApp-dttbmiamkojuotbcyjgzerxhcqun/Build/Intermediates.noindex/ArchiveIntermediates/MyApp/InstallationBuildProductsLocation/Applications/MyApp.app/MyApp -o /Users/kenny/Library/Developer/Xcode/DerivedData/MyApp-dttbmiamkojuotbcyjgzerxhcqun/Build/Intermediates.noindex/ArchiveIntermediates/MyApp/BuildProductsPath/Release-iphoneos/MyApp.app.dSYM生成DSYMFile /Users/kenny/Library/Developer/Xcode/DerivedData/MyApp-dttbmiamkojuotbcyjgzerxhcqun/Build/Intermediates.noindex/ArchiveIntermediates/MyApp/BuildProductsPath/Release-iphoneos/MyApp.app.dSYM /Users/kenny/XcodeLibrary DerivedData/MyApp-dttbmiamkojuotbcyjgzerxhcqun/Build/Intermediates.noindex/ArchiveIntermediates/MyApp/InstallationBuildProductsLocation/Applications/MyApp.app/MyApp(在项目“MyApp”的目标“MyApp”中) cd /Users/kenny/inaday2/strunk-MyApp /apps/iOS/MyApp /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/dsymutil /Users/kenny/Library/Developer/Xcode/DerivedData/MyApp-dttbmiamkojuotbcyjgzerxhcqun/Build/Intermediates.noindex /ArchiveIntermediates/MyApp/InstallationBuildProductsLocation/Applications/MyApp.app/MyApp -o /Users/kenny/Library/Developer/Xcode/DerivedData/MyApp-dttbmiamkojuotbcyjgzerxhcqun/Build/Intermediates.noindex/ArchiveIntermediates/MyApp/BuildaseProductsPathos/Re .app.dSYM

Settings look okay, attaching the script I am using and process.设置看起来不错,附上我正在使用和处理的脚本。 Hope these info helps.希望这些信息有帮助。 在此处输入图片说明 To have all the dsyms you need to first upload the build to Testflight and then from Tesflight, you need to download the final processed dSYM.zip.要获得所有需要的 dsym,首先将构建上传到 Testflight,然后从 Tesflight 下载最终处理的 dSYM.zip。

在此处输入图片说明

A folder appDsyms.zip will be downloaded, once this is decompressed, you will see list of dSYM's将下载文件夹 appDsyms.zip,解压后,您将看到 dSYM 的列表

Post that use below script to upload the same to crashlytics.发布使用下面的脚本将相同的内容上传到 crashlytics。 So there are few changes done in Firebase Crashyltics the way dSYM mapped to the build we upload.因此,在 Firebase Crashyltics 中几乎没有更改 dSYM 映射到我们上传的构建的方式。

Initially, there was a manual option as well to upload but now that's abandoned and the only way by running the script from your terminal.最初,还有一个手动上传选项,但现在已放弃,这是从终端运行脚本的唯一方法。

Pods/FirebaseCrashlytics/upload-symbols -gsp YOUR_PLIST_FULL_PATH -p ios ~/PATH_TO_DSYM_ZIP_OR_FOLDER 

**Example[Below is my working script to upload dSYM to crashlytics]:**

Pods/FirebaseCrashlytics/upload-symbols -gsp MY_PRROJECT_NAME/Support/Firebase/Prod/GoogleService-Info.plist -p ios ~/Downloads/appDsyms 

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM