上传符号文件

在我的Firebase崩溃报告页面中,找不到崩溃的完整信息(例如行数,文件等)。 我认为这可能是因为它说

上传符号文件以代表UUID未来的堆栈跟踪 – ***

告诉我

使用命令行,导航到您的Xcode项目文件夹并运行以下命令:./Pods/FirebaseCrash/batch upload – ***

不幸的是,当我尝试在我的Xcode项目中执行该命令时,我收到以下消息:

– ***:警告:没有可执行文件或捆绑包完成。

没有什么变化的火力点。 也许这是因为bitcode启用? 我该如何解决?

PS:为了安全起见,我用 – ***replace了我的UUID。

这个答案是如果你不使用CocoaPods。

如果您不使用CocoaPods,则需要Pods目录中的一些文件,这些文件不包含在它们提供的标准Firebase库集合中。

有5个文件,如下图所示: FirebaseCrash必需的文件

您需要batch-uploaddump_symsupload-symupload-sym-util.bashupload-sym.sh 。 您可以从FirebaseCrash Pod文件中检索这些文件。

如果您将这些文件复制到您的项目目录中,并将"${PODS_ROOT}"/FirebaseCrash/replace为指向这些文件的目录,则应该可以工作。

注意:如果我使用像Jenkins这样的构build服务器,我仍然遇到这个解决scheme的复杂问题。 还有一些工作要做。


我发现这是我的应用程序不使用CocoaPods所必需的。 虽然这可能与你自己的使用没有直接的关系,但我认为至less我应该把它包括给别人试图find答案。

我们目前在第三方共享库(dynamic框架)方面有一些问题,所以如果你使用的是共享库,事情会变得困难。 按照下面的说明,用适用于共享库的pathreplace应用可执行文件的path。

如果不是这样,则有可能报告崩溃的原始可执行文件已经丢失。 即使用相同的资源重build,LC_UUID字段也会改变。

  1. validationUUID对于可执行文件是否正确:

      dwarfdump --uuid / path / to / your / build / area / MyApp .app / MyApp 

    如果没有UUID匹配丢失的那个,那么游戏结束。 抱歉。 您可以尝试从Time Machine,Carbonite或其他任何软件恢复可执行文件,但是这只是一个问题。

  2. 如果其中一个UUID匹配(每个体系结构都有一个),那么您仍然拥有原始的可执行文件,但是很可能缺lessdSYM软件包。 您可以validation是否缺lessdSYM:

      mdfind com_apple_xcode_dsym_uuids = UUID 

    你应该看不到任何回应。

  3. 重新生成dSYM软件包:

      dsymutil -o = upload.dSYM / path / to / your / build / area / MyApp .app / MyApp 
  4. 检查是否已注册dSYM软件包:

      mdfind com_apple_xcode_dsym_uuids = UUID 

    你应该得到一个回应:你刚刚创build的upload.dSYM

    如果你没有看到它,给它几秒钟,然后再试一次。

  5. 再次运行batch-upload UUID

  6. 如果它仍然不起作用,可以通过处理可执行文件本身来获得部分结果。 运行batch-upload /path/to/your/build/area/MyApp .app/ MyApp以获得部分符号。

在我的情况下( 没有COCOAPODS ):

1)从目录“崩溃”导入所有文件

在这里输入图像说明

2)将脚本添加到“Build Phases”选项卡中,如下所示:

 # Replace this with the GOOGLE_APP_ID from your GoogleService-Info.plist file GOOGLE_APP_ID=1:xxxxxxxxxxxx:ios:xxxxxxxxxxxx # Replace the /Path/To/ServiceAccount.json with the path to the key you just downloaded "${SRCROOT}"/upload-sym "${SRCROOT}/*NameOfTargetDirectory*/ServiceAccount.json" 

您需要更改脚本中的“ NameOfTargetDirectory ”,它的工作原理!