1

xcodebuild を使用して、AD Hoc ディストリビューション用のアプリケーションをかなり標準的な方法で構築しています。ビルド中にプロビジョニング プロファイル (profileA) が埋め込まれ、アプリケーションが証明書 (certA) で署名されます - SDKSettings.plist で CODE_SIGNING_REQUIRED が YES に設定されます。ビルド後、別のプロビジョニング プロファイル (profileB) を埋め込み、別の証明書 (certB) でアプリケーションを再署名したいと考えています。このために私は使用しています:

SIGNING_IDENTITY=certB
PROVISIONING_PROFILE=full/path/to/profileB

/usr/bin/xcrun  PackageApplication -v "${CONFIGURATION_BUILD_DIR}/${PROJECT_NAME}.app" -o "${CONFIGURATION_BUILD_DIR}/${IPAFILE}" --sign "${SIGNING_IDENTITY}" --embed "${PROVISIONING_PROFILE}"

IPA パッケージが正常に作成され、プロファイル (profileB) が埋め込まれ、新しい証明書 (certB) で署名されましたが、残念ながらデバイスにパッケージをインストールできません。インストール中にインストール進行状況バーが 4/5 でハングし、「プログラムをダウンロードできません。現在、'XXX' をインストールできません。」というエラー メッセージが表示されます。[閉じる] ボタンと [再試行] ボタンがあります。(これは私の翻訳なので、100%正確ではないかもしれません). もちろん、デバイスの UDID はプロファイルに含まれています。パッケージを再署名しないと、アプリケーションがデバイスにインストールされる可能性があります (profielA と certA を使用)。また、XCODE 設定で certB と profileB を使用するように設定すると、パッケージもインストールされる可能性があります。何が問題なのか知っていますか?デバイスへのパッケージのインストールを妨げる何かがあるように見えますが、そうではありません

よろしく!

4

1 に答える 1

-1

Xcrun PackageApplication はエンタイトルメントを処理しないため、この方法を使用して、まったく異なる証明書/プロファイルでパッケージを再署名することはできません。

于 2012-04-23T06:47:02.420 に答える