iOS 8 拡張機能とコンテナー アプリの間でデータを共有するのに問題があります。開発ポータルと Xcode からグループをセットアップしました。資格 plist はどちらも次のようになります。
<dict>
<key>com.apple.security.application-groups</key>
<array>
<string>my group id</string>
</array>
</dict>
使用するアップルドキュメントの推奨ソリューション[[NSUserDefaults standardUserDefaults]
私にはうまくいきません。
私はこの投稿から @Santa Claus による解決策を試しました。
[[NSUserDefaults alloc] initWithSuiteName:@"<group identifier>"];
サンタ クロースのソリューションはシミュレーターでは機能しましたが、iPhone 4s では機能しませんでした。実際のデバイスで機能させる方法についてのアイデアはありますか? または、何か不足していますか?
いくつかの更新:
[[NSFileManager defaultManager] containerURLForSecurityApplicationGroupIdentifier:@"group id"];
関数は url を返します。コンテナー アプリと拡張機能からの両方の url は、" path /private/var/mobile/Containers/Shared/AppGroup/3DFB9750-A9F3-4C37-BC3C-0D5BF746B 233" のように同じように見えます。コンテナー アプリからそのフォルダー内に json ファイルを作成しましたが、デバイスで実行すると、拡張機能がフォルダー内のファイルを見つけることができません。しかし、シミュレーターではそれがうまく見つかり、すべてが機能します。