0
私はアプリケーションAでエンティティを作成し、それをアプリケーショングループの共有スペースに保存し、アプリケーションBのそのエンティティにアクセスしたいと考えています。これは私の現在のアプローチです。私は何か間違っていると確信しています、次のコードは、アプリケーションのエンティティを作成し、共有領域に保存するためです。私は、エラーを受信しないと、エンティティが正常にアプリケーション間でコアデータエンティティを共有しようとしています
NSError * error = nil;
NSURL *modelURL = [[NSBundle mainBundle] URLForResource:@"DataModel" withExtension:@"momd"];
NSManagedObjectModel *mom = [[NSManagedObjectModel alloc] initWithContentsOfURL:modelURL];
NSPersistentStoreCoordinator *psc = [[NSPersistentStoreCoordinator alloc] initWithManagedObjectModel:mom];
NSManagedObjectContext *moc = [[NSManagedObjectContext alloc] initWithConcurrencyType:NSMainQueueConcurrencyType];
[moc setPersistentStoreCoordinator:psc];
NSURL *storeURL = [[NSFileManager defaultManager] containerURLForSecurityApplicationGroupIdentifier:@"GROUP_IDENT"];
storeURL = [storeURL URLByAppendingPathComponent:@"sharedDB.sqlite"];
NSPersistentStore *store;
store = [psc addPersistentStoreWithType:NSSQLiteStoreType configuration:nil URL:storeURL options:nil error:&error];
Report *report = [NSEntityDescription insertNewObjectForEntityForName:@"Report" inManagedObjectContext:moc];
report.categoryID = @"THIS IS A TEST";
if ([moc save:&error] == NO) {
NSAssert(NO, @"Error saving context: %@\n%@", [error localizedDescription], [error userInfo]);
}
を作成し、
NSError * error = nil;
NSURL *modelURL = [[NSBundle mainBundle] URLForResource:@"DataModel" withExtension:@"momd"];
NSManagedObjectModel *mom = [[NSManagedObjectModel alloc] initWithContentsOfURL:modelURL];
NSAssert(mom != nil, @"Error initializing Managed Object Model");
NSPersistentStoreCoordinator *psc = [[NSPersistentStoreCoordinator alloc] initWithManagedObjectModel:mom];
NSManagedObjectContext *moc = [[NSManagedObjectContext alloc] initWithConcurrencyType:NSMainQueueConcurrencyType];
[moc setPersistentStoreCoordinator:psc];
NSURL *storeURL = [[NSFileManager defaultManager] containerURLForSecurityApplicationGroupIdentifier:@"GROUP_IDENT"];
storeURL = [storeURL URLByAppendingPathComponent:@"sharedDB.sqlite"];
NSError *error = nil;
NSPersistentStore *store = [psc persistentStoreForURL:storeURL];
NSFetchRequest *request = [NSFetchRequest fetchRequestWithEntityName:@"Report"];
[request setEntity:[NSEntityDescription entityForName:@"Report" inManagedObjectContext:moc]];
[request setReturnsDistinctResults:YES];
NSArray * fetchedObjects = [moc executeFetchRequest:request error:&error];
店は常にnilで次のように他のアプリでこのデータにアクセスしようとしています!誰かがいくつかの提案や偉大な助けをしている場合!これに代えて
NSBundle *sharedBundle = [NSBundle bundleWithIdentifier:@"com.company.sharedName"];
:
ManagedObjectModelのためのデータモデルは、しかし、メインバンドルに..です – renners