問題タブ [auto-build]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ios - Xcode 10 コマンドライン ビルド: Fabric Info.plist エラーでアーカイブに失敗しました
2 つのターゲットを持つ iOS プロジェクトを自動ビルドするための Jenkins サーバーがあります。プロジェクトはコマンドライン ユーティリティでビルドされますxcodebuild
。
完全なコマンドは
と
Xcode をバージョン 10 に更新する前は、完全に動作していました。しかし、エラーが表示されるたびに更新した後
エラー: ファブリック: Info.plist エラー
パス /Users/Shared/Jenkins/Library/Developer/Xcode/DerivedData/Our_project-xxxx/Build/Intermediates.noindex/ArchiveIntermediates/Our project/BuildProductsPath/Release-iphoneos/First application.app/Info で Info.plist を処理できません.plist これはタイミングの問題である可能性があります。Fabric 実行スクリプトのビルド フェーズが最後のビルド フェーズであり、他のスクリプトが Xcode が生成した場所から Our application.app を移動していないことを確認してください。また、「$(BUILT_PRODUCTS_DIR)/$(INFOPLIST_PATH)」を Fabric 実行スクリプトのビルド フェーズの「入力ファイル」依存関係として追加することもできます。
** アーカイブに失敗しました **
グーグルでエラーの説明を読んだ後Build phases
、Xcodeでタブを開いてセットアップしました(Run script
項目を一番下に移動し、入力ファイルを確認Run script only when installing
して追加$(BUILT_PRODUCTS_DIR)/$(INFOPLIST_PATH)
し、空のRun script
項目を削除します)。
コマンドラインからの手動ビルドが機能するようになりました - 問題が解決したようです。Jenkins でさえ、最初のターゲットを作成しました! しかし、2 番目のターゲットでは同じエラーが発生しませんでした。
私はプロジェクトを開き、ビルドフェーズタブを見て、Run script
アイテムが上に移動し、新しい空Run script
が表示されたことを確認しました。その後、実験を行いました。ビルド フェーズを設定し、Xcode GUI でプロジェクトをリビルドし、フェーズが再度並べ替えられることを確認しました。そのため、ビルド中またはビルド後に発生します。
このバグを修正するにはどうすればよいですか?
たとえば、ビルド フェーズをコマンド ラインから手動で注文できますか? はいの場合は、Jenkins ステップで行を追加するだけです。
さらに、このエラーはコマンドライン ビルドでのみ表示されます。Xcode GUI からプロジェクトをビルドすると、常に成功します。