【问题标题】:WatchKit and MagicalRecord - is that possible?WatchKit 和 MagicalRecord - 这可能吗?
【发布时间】:2015-03-23 14:33:12
【问题描述】:

我有一个通过 MagicalRecord 使用 Core Data 的 iOS 应用程序。现在我想用 WatchKit 扩展来扩展应用程序,因此需要访问 MagicalRecord。这是可能的还是我必须切换到“本机”核心数据?如果我可以在 WatchKit 扩展中使用 Magical Record,那就太完美了,但直到现在我才弄清楚怎么做。我什至无法将我的 cocoapods 包含在共享的 Cocoa Touch 框架中... (use CocoaPods 0.36.0 in CocoaTouchFramework with Swift)

【问题讨论】:

    标签: watchkit magicalrecord-2.2


    【解决方案1】:

    在您的 WatchKit 扩展中使用 MagicalRecord 应该没有任何问题。您需要执行以下操作。

    1. 在 WatchKit 扩展的常规设置中,您需要将 libPods.a 添加到链接框架和库中。

    1. 您需要让 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];
    

    【讨论】:

    • 好的,我添加了 libPods.a,但是当我通过 import MagicalRecord 将它导入我的 InterfaceController.swift 时,我得到了 No such module 'MagicalRecord' - 我必须在我的 Podfile 中添加一些特殊的东西吗?跨度>
    • 我也不知道如何将我的NSManagedObjectModel-subclasses 包含到 WatchKit-Extension...
    • 除非,自从我上次检查以来,MagicalRecord 添加了一个 swift 实现,您将需要使用 Obj-C 到 Swift 桥头来在您的 swift 类中使用 MagicalRecord。您的 for 子类需要将其添加到 WatchKit 扩展目标中。见stackoverflow.com/questions/27112728/…
    • 我创建了一个新项目,其中 WatchKit 扩展是 Objective-C,但我无法导入 MagicalRecord:#import <MagicalRecord/MagicalRecord.h> 导致 'MagicalRecord/MagicalRecord.h' file not found - 虽然我正在添加 libPods.a - 什么我在这里失踪了吗?
    【解决方案2】:

    在您的个人资料文件中添加一行

    link_with 'yourApp', 'yourAppExtension'
    

    然后在终端上运行命令行

    pod install
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-01
      • 1970-01-01
      相关资源
      最近更新 更多