WatchKit 和 MagicalRecord - 这可能吗?
WatchKit and MagicalRecord - is that possible?
我通过 MagicalRecord 获得了一个带有核心数据的 iOS 应用程序。现在我想用 WatchKit Extension 扩展应用程序,因此需要访问 MagicalRecord。这是可能的还是我必须切换到 "native" 核心数据?如果我能在 WatchKit 扩展中使用 Magical Record 就完美了,但直到现在我才弄清楚如何做。我什至无法将我的 cocoapods 包含在共享的 Cocoa Touch Framework 中... (use CocoaPods 0.36.0 in CocoaTouchFramework with Swift)
在您的 WatchKit 扩展中使用 MagicalRecord 应该不会有任何问题。您将需要执行以下操作。
- 在 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
我通过 MagicalRecord 获得了一个带有核心数据的 iOS 应用程序。现在我想用 WatchKit Extension 扩展应用程序,因此需要访问 MagicalRecord。这是可能的还是我必须切换到 "native" 核心数据?如果我能在 WatchKit 扩展中使用 Magical Record 就完美了,但直到现在我才弄清楚如何做。我什至无法将我的 cocoapods 包含在共享的 Cocoa Touch Framework 中... (use CocoaPods 0.36.0 in CocoaTouchFramework with Swift)
在您的 WatchKit 扩展中使用 MagicalRecord 应该不会有任何问题。您将需要执行以下操作。
- 在 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