我通过MagicalRecord获得了一个带有Core Data的iOS应用程序。现在我想用WatchKit扩展程序扩展应用程序,因此需要访问MagicalRecord。这是可能的还是我必须切换到“原生”核心数据?如果我可以在WatchKit扩展中使用魔法记录,那将是完美的,但直到现在我都无法弄清楚。我甚至无法在共享的Cocoa Touch Framework中包含我的cocoapod ...(use CocoaPods 0.36.0 in CocoaTouchFramework with Swift)
答案 0 :(得分:1)
在WatchKit Extension中使用MagicalRecord不会有任何问题。您需要执行以下操作。
您需要让MagicalRecord在共享组文件夹中使用数据库,而不是其默认的app文件夹。为此,您需要在设置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];
答案 1 :(得分:0)
在个人资料档案中添加一行
link_with 'yourApp', 'yourAppExtension'
然后在终端上运行命令行
pod install