XcodeGenとCocoaPodsを利用時のFirebase Crashlyticsの設定方法

公開:2020/10/06
更新:2020/10/06
1 min読了の目安(約1100字TECH技術記事

想定環境

背景

XcodeGenのpostBuildScriptsでCrashlyticsのRun Scriptの設定を記述すると、Xcodeの
Build Phasesにおいて、CocoaPods側で生成されるRun Scriptより前の順序で実行されてしまいます。

解決方法

Podfileで以下のように設定すると、CocoaPodsで生成されるRun Scriptより後にFirebase CrashlyticsのRun Scriptを実行することができます。

pod 'Firebase', subspecs: [
  'Crashlytics',
  ...
]

# or
# pod 'Firebase/Crashlytics'

script_phase name: 'Run Firebase Crashlytics',
             shell_path: '/bin/sh',
             script: '"${PODS_ROOT}/FirebaseCrashlytics/run"',
             input_files: ['$(SRCROOT)/$(BUILT_PRODUCTS_DIR)/$(INFOPLIST_PATH)']

Reference


XcodeGen公式の設定方法が古いので、Pull Requestを出しておこうと思います。

追記)https://github.com/yonaskolb/XcodeGen/pull/962