XcodeでiOSアプリをビルドしようとしたら、FabricのRun Scriptで Info.plist
が処理できないという内容のエラーが発生しました。
環境
❯ sw_vers
ProductName: Mac OS X
ProductVersion: 10.14.6
BuildVersion: 18G103
❯ xcodebuild -version
Xcode 11.1
Build version 11A1027
解決方法
Running upload-symbols in Build Phase mode
Validating build environment for Crashlytics...
error: Info.plist Error Unable to process Info.plist at path /Users/foo/Library/Developer/Xcode/DerivedData/AppName-ahatoqxnbwihhoeagicyyimrmwbl/Build/Products/Release-iphonesimulator/AppName.app/Info.plist
This could be a timing issue, make sure the Fabric run script build phase is the last build phase and no other scripts have moved AppName.app from the location Xcode generated it. You can also add '$(BUILT_PRODUCTS_DIR)/$(INFOPLIST_PATH)' as an "Input Files" dependency for your Fabric run script build phase.
タイミングが原因の可能性があるとのことで、以下の解決策が提示されました。
- Run Scriptを
Build Phases
の最後のフェーズに移動 - Run Scriptの
Input Files
に$(BUILT_PRODUCTS_DIR)/$(INFOPLIST_PATH)
を追加
自分の環境では、どちらの方法を試してもビルドが通るようになりました。
※ Fabricは2020年3月末でdeprecatedになるため、Firebaseへの移行が必要になります