WatchKit и MagicalRecord - это возможно?
У меня есть приложение для iOS с Core Data через MagicalRecord. Теперь я хочу дополнить приложение расширением WatchKit и, следовательно, получить доступ к MagicalRecord. Это возможно или мне нужно переключиться на "родные" базовые данные? Было бы идеально, если бы я мог использовать Magical Record в расширении WatchKit, но я не мог понять, как до сих пор. Я даже не могу включить свои cocoapods в общую платформу Cocoa Touch... ( используйте CocoaPods 0.36.0 в Cocoa Touch Framework со Swift)
2 ответа
Не должно быть никаких проблем с использованием MagicalRecord в вашем расширении WatchKit. Вам нужно будет сделать следующее.
- В общих настройках расширения WatchKit вам нужно добавить libPods.a в свои связанные структуры и библиотеки.
Вам понадобится, чтобы MagicalRecord использовал базу данных в папке общей группы, а не в папке приложения по умолчанию. Для этого вам нужно будет сделать это при настройке MagicalRecord
NSString* dbPath = [self sharedAppGroupDirectory]; dbPath = [dbPath stringByAppendingPathComponent:@"MyDatabaseName.sqlite"]; NSURL* dbURL = [NSURL fileURLWithPath:dbPath]; [MagicalRecord setupCoreDataStackWithAutoMigratingSqliteStoreNamed:(id)dbURL];
С этим вы можете получить общий каталог группы приложений.
NSFileManager *fm = [NSFileManager defaultManager];
NSString *appGroupName = @"group.com.mygroup";
NSURL *groupContainerURL = [fm containerURLForSecurityApplicationGroupIdentifier:appGroupName];
NSString* path = [groupContainerURL filePathString];
Добавьте одну строку в вашем профиле
link_with 'yourApp', 'yourAppExtension'
Затем запустите командную строку на вашем терминале
pod install