複数のアプリで共通のiCloud Key-Value Storageにアクセスする方法
異なるapp(macOS appとiOS appなど)で共通のiCloud Key-Value Storageを使いたい場合、
どちらかの.entitlements
ファイルを編集する必要があります。
具体的にはcom.apple.developer.ubiquity-kvstore-identifier
キーの値を共通の値にしなければいけません。
デフォルトの値はどちらも$(TeamIdentifierPrefix)$(CFBundleIdentifier)
となっているはずなので、
どちらか片方の値をもう片方の値と同じになるように変更すればOKです。
通常、先に開発したアプリをプライマリとして後発アプリの.entitlements
ファイルを編集することになると思います。
同時開発している場合はどちらをプライマリにしても問題ないと思います。
例えば、macOS appの$(CFBundleIdentifier)
がcom.my.appname
だとすると、
iOS appのcom.apple.developer.ubiquity-kvstore-identifier
キーの値を
$(TeamIdentifierPrefix)com.my.appname
とすれば共通のiCloud KVSにアクセスするようになります。