0

Testflight を使用して IPA をアプリ テスターに​​アップロードしようとしていますが、次のエラーで失敗します。

無効な IPA: embedded.mobileprovision の keychain-access-group とバイナリが一致しません。

私の設定はかなり標準的で、ビルドして配布できる別のアプリがあるため、混乱しています(注:2番目の開発者アカウントを使用していますが、Xcodeの同じインスタンスにあります)。

ここに私の設定があります:

  • プロビジョニング ポータルで作成したアプリ ID は ですcom.bubblefoundry.Clear。当然のことながら、Apple が割り当てる数値識別子が前に付けられます。
  • アプリ ID と目的のデバイスを使用して、アドホック配布プロビジョニング プロファイルを作成しました。Xcodeにダウンロードしました。
  • 製品名はClearXcode です。
  • ターゲットの「Summary」タブの下にあるバンドル名は ですcom.bubblefoundry.Clear。Clear は明るい灰色で、Xcode によって自動的に入力されます。の前後にテキストを追加することはできますClearが、削除することはできません。「情報」タブの下の名前はcom.bubblefoundry.${PRODUCT_NAME:rfc1034identifier}です。
  • プロジェクトとターゲットの両方のコード署名ビルド設定では、Debug と Release の両方が Automatic Profile Selector の下の iPhone Developer に設定されています。Release をディストリビューション プロファイルに設定する必要があるかもしれないと考えましたが、他の作業中のプロジェクトではこれを行いませんでした。

アプリを問題なくアーカイブできます。次に、オーガナイザーで、アドホック開発用に配布するように指示し、以前に作成した配布プロビジョニング プロファイルで再署名することを選択できます。エラーは報告されません。同様に、iPhone を接続して電話でアプリを問題なく実行できます。ファイルが無効であると言われるのは、Testflight.app を使用して IPA をアップロードしようとしたときだけです。

と記載されているのでembedded.mobileprovision、IPA に突っ込んでファイルを調べることにしました。関連するデータは次のとおりです(固有の情報を除く):

<plist version="1.0">
<dict>
    <key>AppIDName</key>
    <string>Project Clear</string>
    <key>ApplicationIdentifierPrefix</key>
    <array>
        <string>app-id</string>
    </array>
    <key>CreationDate</key>
    <date>2013-01-11T17:44:51Z</date>
    <key>DeveloperCertificates</key>
    <array>
        <data>
      my-certificate
        </data>
    </array>
    <key>Entitlements</key>
    <dict>
        <key>application-identifier</key>
        <string>app-id.com.bubblefoundry.Clear</string>
        <key>get-task-allow</key>
        <false/>
        <key>keychain-access-groups</key>
        <array>
            <string>app-id.*</string>
        </array>
    </dict>
    <key>ExpirationDate</key>
    <date>2013-10-07T17:44:51Z</date>
    <key>Name</key>
    <string>Project Clear Testers</string>
    <key>ProvisionedDevices</key>
    <array>
        <string>device1</string>
        <string>device2</string>
        <string>device3</string>
        <string>device4</string>
        <string>device5</string>
    </array>
    <key>TeamIdentifier</key>
    <array>
        <string>app-id</string>
    </array>
    <key>TeamName</key>
    <string>Bubble Foundry</string>
    <key>TimeToLive</key>
    <integer>269</integer>
    <key>UUID</key>
    <string>uuid</string>
    <key>Version</key>
    <integer>1</integer>
</dict>
</plist>

これを見ると、ほぼすべてが以前に設定したものと一致しているように見えます。唯一の考えはAppIDNameProject Clearではなく、 であるということClearです。これが問題の原因ですか?それとも、keychain-access-groupsそうapp-id.com.bubblefoundry.Clearではないapp-id.*でしょうか?

4

1 に答える 1

1

この場合、アプリ ID はcom.bubblefoundry.Clear.

次のようなプロビジョニング プロファイルを作成した場合:

com.bubblefoundry.*

このプロビジョニング プロファイルは、さまざまな Id のようなもので使用できます。

com.bubblefoundry.Clear
com.bubblefoundry.my
com.bubblefoundry.Clear.newApp
com.bubblefoundry.testApp
com.bubblefoundry.yoyo

indo.plist でアプリ ID を変更できます

com.bubblefoundry.${PRODUCT_NAME:rfc1034identifier}.次のような必要な IDに置き換えますcom.bubblefoundry.myTestApp

于 2013-01-14T12:40:50.550 に答える