Jan 162012
 

Xcodeにおけるentitlementsとはアプリに対する機能やセキュリティの許可を承認するための設定のことである。デフォルトではほぼすべて無効に設定されている。適したキー名と値のペアでデフォルトを上書きすることで有効になる。

  • iCloudのデータ保存領域(document/key-value)を使いたい
  • バックグラウンドでプッシュ通知(Push notification)を使ってユーザに情報を伝えたい
  • サンドボックス(sand boxing)と呼ばれるセキュリティ機能を使いたい(MacOSXのみ)

iCloudのentitlement

ユーザドキュメントの保存についてみていく。iCloudでこれをサポートするには、XcodeでターゲットのSummaryで設定を行う。XcodeでチェックボックスをONにするだけで.entitlementsファイルが作成される。間違ったり動作がおかしいならentitlementsファイルを削除し、再び作成すればよい。

iCloud entitlements setting

ただし、事前にAppleのポータルでAppIDを登録し、さらにAppIDのiCloud利用ができるようにポータルで設定を行うこと。最後にポータルからProvisioningファイルを発行し直す。ProvisioningファイルにはiCloudの有効化設定が含まれる。(以下ではcom.f60k.labというAppIDを想定)

具体的には、com.apple.developer.ubiquity-container-identifiersというキーに$(TeamIdentifierPrefix)com.mycompany.myapplicationという値を設定するという動作を自動でやってくれている。

TeamIdentifierPrefixという文字列がentitlementsファイルに自動追加されるのでテキストフィールドにはこのPrefixは入力する必要はない。

さらにこの値を複数設定すれば、(同じチームの)他のアプリのドキュメントにアクセスする事も出来る。

参考

以下が詳しい。
http://www.raywenderlich.com/6015/beginning-icloud-in-ios-5-tutorial-part-1
http://developer.apple.com/library/ios/#documentation/Miscellaneous/Reference/EntitlementKeyReference/EnablingiCloud/EnablingiCloud.html#//apple_ref/doc/uid/TP40011195-CH2-SW1

コメント

個のコメント

Powered by Facebook Comments

 Posted by at 03:54

Sorry, the comment form is closed at this time.