7

内部で XCode ビルドを使用する同じ Rake スクリプトに基づいてビルドする 2 つのプロジェクトがあります。(ARCHIVE は成功) でビルドしてからxcodebuild -archivePath、アプリを でパッケージ化しxcodebuild -exportArchiveます。問題は、最初のプロジェクトはすべてのステップを成功させるが、2 番目のプロジェクトは形式が正しくないxcodebuild -exportArchiveために失敗することです。xcarchiveこれら 2 つのアーカイブを比較したところ、Info.plistアーカイブ内の欠落が原因で奇形が発生しました。そのようなものを手動で準備Info.plistして に入れるとxcarchive、問題なくアプリをパッケージ化できました。

XCodeビルドがファイルInfo.plist内で生成されない理由の手がかりはありxcarchiveますか?

4

4 に答える 4

0

私の場合、dSym/BCSymbolmap ファイルを含む XCFramework である SPM を介してインクルードしていました。

これにより、Info.plist の欠落が複雑なプロジェクトで発生し、単純なプロジェクトでは発生せず、エンタープライズ プロファイルではなく、App Store のプロビジョニング プロファイルを使用している場合にのみ発生しました。また、単に Xcode でアーカイブを実行したときにも発生しました。完了後、生成された .xcarchive のルートに Info.plist ファイルが見つからなかったため、オーガナイザーが開きませんでした。

SPM が取得した XCFramework (ベンダーがそれを変更し、新しいバージョンを発行した) を変更して、フレームワーク バイナリのみを含めるようにし、デバッグ情報を含めないことで、アーカイブが再び正常に動作するようになりました。

これは Xcode 12.4 の場合で、この場合は確認できませんでしたが、Xcode 12.5 (または最終的には Xcode 13) の方がうまくいくと考える理由があります。

これは、12.4 リリース ノートで提案されている方法で、アーカイブ プロセスによって App Plugins ディレクトリに含まれる重複したフレームワークを削除する修正を追加した後でも発生したことに注意してください。

于 2021-08-14T05:23:27.183 に答える