2016-09-19 35 views
3

我通过cocoa pod将firebase崩溃报告集成到了我的应用中。我创建了运行脚本分机。iOS Firebase崩溃报告上传符号文件

所以它现在工作。但我的问题是,每次我尝试构建并运行应用程序时,即使在模拟器中,它也会尝试上载Symbol文件,而且构建和运行应用程序需要太多时间。

我以前使用过曲棍球的应用程序。而在曲棍球应用程序中,我正在使用曲棍球应用程序的mac应用程序上传符号文件。例如,当我的开发和开发人员测试完成后,我发布add hoc build,然后我将符号文件发送给曲棍球应用程序。

所以我的问题是:什么是Firebase崩溃报告的最佳用例流程?我可以在发布add hoc或App Store发布之前上传符号文件吗? (不是每一次)

或者是否可以在模拟器版本中禁用符号文件上传的“运行脚本”。

回答

1

如果不想每次都不必运行脚本。最小限度地,你应该运行一次每个构建到商店。您可以在应用程序发布到商店之前上传。

+0

所以你建议;删除运行脚本并在执行add hoc和app store发布时添加它。我理解正确吗? 但我需要自动化这个流程。可能吗? –

+0

您不必删除任何东西。只需在需要的时候手动或从其他脚本运行它。 –

3

看来你正在寻找的东西是这样的:

if [ ${PLATFORM_NAME} != "iphonesimulator" ]; then 
    echo "Uploading Firebase Crash Symbols..." 

    # Replace this with the GOOGLE_APP_ID from your GoogleService-Info.plist file 
    GOOGLE_APP_ID=1:my:app:id 

    # Replace the /Path/To/ServiceAccount.json with the path to the key you just downloaded 
    "${PODS_ROOT}"/FirebaseCrash/upload-sym "/Path/To/ServiceAccount.json" 
fi 

所以,在最起码,它只能运行和上传的符号,当你正在为任何不是模拟器。

+0

谢谢,这是很好的答案。但它不能解决我的问题。因为我有2配置1是调试和1是释放。调试连接到测试和发布连接到生产环境。 所以我也发送测试 - addhoc构建,它需要被跟踪。所以我的问题是我只是想防止发送符号文件,当我使用模拟器。可能吗? –

+0

啊,我明白了。这是有道理的,是的。我相应地更新了我的答案。 – dbburgess

3

这将仅适用于release生成配置上传符号:

echo configuration is $CONFIGURATION 

if [ $CONFIGURATION == Release ]; then 

    echo uploading symbols 

    # Replace this with the GOOGLE_APP_ID from your GoogleService-Info.plist file 
    GOOGLE_APP_ID=1:************ 

    # Replace the /Path/To/ServiceAccount.json with the path to the key you just downloaded 
    "${PODS_ROOT}"/FirebaseCrash/upload-sym "${SRCROOT}/GoogleServiceAccount.json" 

else 

    echo skipping symbols upload 

fi 
+0

对我的环境没有帮助。当我运行释放模式xcode hungs时,它自行运行定制shell脚本。在开发模式下一切正常 – Kingalione

+0

@Kingalione你可能想检查你的构建日志。 Bash的if-then不太可能挂一些东西。 –

5

所以我“安装时运行脚本只”签上我的符号载运行脚本只保留。

这确保了它只会在归档应用程序时运行,而不是在开发过程中(例如,当我们的应用程序进入狂野时)。

screenshot

+1

我以为我会破坏这个人,认为“仅在安装时运行脚本”也会在安装设备上进行安装时触发,但是不会,这仅在存档时才有效。我不确定该复选框背后的逻辑是什么,但这是一个有效的答案! –