セキュリティアプリケーショングループを使用して、メインアプリとヘルパーアプリの間で設定を共有することができます-[NSUserDefaults initWithSuiteName:]
。
セキュリティアプリケーショングループ
複数のアプリが共通のコンテナーを共有するには、com.apple.security.application-groups
(メインアプリとヘルパーアプリで)エンタイトルメントをなどの共通の識別子に設定する必要があります@"com.company.my-app-suite"
。詳細については、グループへのアプリの追加を参照してください。
ユーザーデフォルトスイート
OS X 10.9のFoundationリリースノートによると:
セキュリティアプリケーショングループの一部であるアプリケーションの場合、NSUserDefaultsの「スイート」API(-initWithSuiteName:、-addSuiteNamed:、および-removeSuiteNamed :)は、グループ内のアプリケーションによって共有され、グループコンテナに格納されているスイートで動作します。スイート識別子は、グループの識別子です。
したがって、アプリケーションデリゲート(または同様のもの)で次のようなことを行う必要があります。
- (NSUserDefaults *)sharedUserDefaults {
static NSUserDefaults *shared = nil;
if (!shared) {
shared = [[NSUserDefaults alloc] initWithSuiteName:@"com.company.my-app-suite"];
}
return shared;
}
そして、[NSUserDefaults standardUserDefaults]
両方のアプリ全体ではなく、それを使用してください。