0

10.7 (Lion) プラットフォームを対象とする OS X アプリがあります。iCloudが有効になっている開発マシンでXCode 4.4を使用しています。このマシンの OS X バージョンは 10.8 (Mountain Lion) です。

iCloudDeveloper Certificate Utility を使用して有効にした APP ID がありますcom.company.appname。このユーティリティでは、アプリ ID の説明の下にある iCloud ラベルの横に緑色のチェックマークが表示されます。

XCode Target/SummaryタブからEntitlementsiCloud Container を有効にして追加しましcom.company.appnameた。もちろん、内部的には、資格ファイルのチーム ID が前に付いています: teamid.com.company.appname.

また、Mac に同じ ID を持つ有効な (緑色のチェックマークが付いた) プロビジョニング プロファイルがあります: teamid.com.company.appname

Derived DataロケーションはRelativefromに設定されていXCode/Preferencesます。

アプリは正常にビルドされます。しかし、実行すると"Could not launch "appname". Permission denied."エラーが発生します。

com.company.appnameEntitlements の下のリスト ボックスからiCloud コンテナー ID を削除しiCloud Containersてアプリをビルドすると、正常に実行されます。しかしもちろん、アプリ用に有効化された iCloud コンテナにアクセスすることはできません。

私は過去 24 時間、この問題に取り組んできました。ガイドを読みました。Developing for the App StoreApp Sandbox Design Guide、およびEntitlement Key Reference裏返し。それでも私は立ち往生しています。何が悪かったのか?

私は絶望的です。あなたが私を助けてくれるなら、私は感謝します。

4

1 に答える 1

1

最も可能性の高い問題は、AppID、資格、およびプロビジョニング プロファイルが互いに一致していないことだと思います。これらの設定で多くの実験を行うと、これは簡単に発生する可能性があります。有効な設定で新しいプロジェクトを作成すればすぐに動作するはずですが、既存のプロジェクトを変換、変更、または編集すると破損する可能性があります。

アプリ バンドル ID の 10 桁のプレフィックスを忘れないでください。これは必須です。iCloudキーバリューストレージ用!

  • developer.apple.com にログインし、[AppIDs] タブを確認します
  • 必要に応じて AppID を作成する
  • このアプリの iCloud 設定を確認する
  • フォームに正確なアプリ識別子を書き留めますABCDE01234.com.domain.app
  • Xcode に戻り、オーガナイザーの [デバイス] タブの [チーム] セクションでプロビジョニング プロファイルと資格を更新します。
  • プロジェクト設定に移動し、アプリのターゲットを選択して「Code Sign」を検索します
  • 正しいコード署名 ID が選択されていることを確認してください (上記のアプリケーション ID を参照してください)。
  • 概要タブに移動し、アプリ ID を入力します
  • Entitlements ファイルを開き、正しい ID もそこにあるかどうかを確認します。

その後、動作するはずです。うまくいけば。

編集:アプリIDセンターへのリンクを追加するといいと思いました: https://developer.apple.com/certificates/index.action#bundlelist

于 2012-08-07T14:31:45.917 に答える