私はこの問題を何時間も検索しました...これが解決策であり、アプリの辞任が私たちのアプリでどのように機能したかです。お客様からIPAファイルを受け取り、証明書を使用して辞任しました。キーチェーンへのアクセスは機能します。この場合、bundle.idは変更されていません。
必要なファイル:
- MyApp.ipa
- MyApp_EnterpriseDistribution.mobileprovision(エンタープライズディストリビューションプロビジョニングプロファイル)
- Entitlements.plist
すべてのファイルは同じディレクトリにあります。ファイルが別のフォルダーにある場合は、コード内のパスを変更する必要があります
まず、「Entitlements.plist」を作成します。txtファイルを作成し、次のコードを入力します。アプリケーション識別子を入力します。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>application-identifier</key>
<string>GBA9L2EABG.com.your.bundle.id.MyApp</string>
<key>get-task-allow</key>
<false/>
</dict>
</plist>
このファイルを保存し、名前を「Entitlements.plist」に変更します
ターミナルを開き、フォルダーに移動してこのコードを実行し、「MyApp」をアプリ名に、「NAME OF YOUR ...」を証明書の名前に、「MyApp_EnterpriseDistribution」をプロビジョニングファイルに置き換えます。
unzip MyApp.ipa
//we didn't used the following, maybe necessary...
//rm -r "Payload/MyApp.app/_CodeSignature" "Payload/MyApp.app/CodeResources" 2> /dev/null | true
cp MyApp_EnterpriseDistribution.mobileprovision Payload/MyApp.app/embedded.mobileprovision
codesign -f -s "iPhone Distribution: NAME OF YOUR DISTRIBUTION CERTIFICATE" --resource-rules Payload/MyApp.app/ResourceRules.plist --entitlements Entitlements.plist Payload/MyApp.app
zip -qr MyApp-resigned.ipa Payload/
そして今、あなたはあなたの証明書を持ったIpaを持っています。
ヒント:この名前の証明書は、キーチェーン内で一意である必要があります...