3

Core Data フレームワークを使用し、永続ストアをアプリケーション ドキュメント ディレクトリに保存する iOS アプリを開発しました。次のメソッドを使用して、アプリ ターゲットに永続的なストア パスを取得できます。

- (NSString *)applicationDocumentsDirectory {
    return [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject];
}

次に、新しい WatchKit 拡張ターゲットを作成し、iOS アプリによって保存された永続ストアを取得したいのですが、watch 拡張の Interface Controller で上記のメソッドを使用しようとすると、別のパスが返されます

ウォッチキット拡張ターゲットで iOS アプリの永続的なストア パスを見つけるにはどうすればよいですか?

4

1 に答える 1

10

WatchKit 拡張機能には、拡張機能のサンドボックスの外部にあるため、アプリの Documents ディレクトリにある Core Data ストアにアクセスする権限がありません。

拡張機能がデータ ストアにアクセスできるようにする場合は、アプリと拡張機能の両方がアクセスできる場所に配置する必要があります。関連するアプリと拡張機能の間でファイルを共有するというまさにこの目的のために追加されたアプリ グループ コンテナー (「コンテナー アプリとのデータの共有」セクション) を読むことをお勧めします。

于 2014-11-21T21:40:49.633 に答える