iCloud Container設定の地雷
先に結論から行きます.
iCloud Containerを指定してはいけない
iCloud Containerをひとつでも指定すると,Appleに新しいバイナリを送るときに,以下のようなEntitlementsエラーが出て,送信に失敗します. つぶさに見ると,iCloud関係の署名がすべて無効になっているようです.
Invalid Code Signing Entitlements - Your application bundle’s signature contains ubiquity code signing entitlements that are not supported. Specifically, value “( XXXXXXXXXX.* )” for key “com.apple.developer.ubiquity-container-identifiers” in is not supported.
iTunes connectの”Validate…“のエラー結果より抜粋
アレがアレするまではコレで
iCloud Containerを指定すると,iCloudの設定項目が緑色になり,”Enable”になります. しかし.この状態では,上述のように以下のようなEntitlementsエラーが出て,iTunes connectにバイナリを送るときに,エラーになってしまいます.正解は,以下のような画像の状態にしておくことです.
そうすると,気持ち悪いんですが,App IDのiCloudの項目が以下のようにConfigurableになってしまいます. しかし,こうしておくのが正しい状態です.こうしておかないとiTunes connectにバイナリを送れません.
さらなる不具合?仕様?
すでにApp Storeでアプリケーションを公開しており,iCloud Containerを指定している状態で,iCloudを使用しているApp IDのApplication Provisioning Profileを作成すると,しばらくすると,Provisioning Profileは,強制的に“Invalid“になります.どうやら,自動でおかしくなるのを防いでいるようです.よくわかりません.そこ自動にするなら,結果をちゃんと伝えて欲しいですよ・・・・.
まとめ
アレの設定が追加されたために,こんなことになったようです. いずれ,アレがあーなったら,こんな気持ち悪いことにはならないと思います.