【问题标题】:Alternate to NSPersistentStoreUbiquitousContentNameKey key in core data in iOS 10.0在 iOS 10.0 的核心数据中替代 NSPersistentStoreUbiquitousContentNameKey 键
【发布时间】:2018-04-18 15:47:49
【问题描述】:

我正在使用两个键 NSPersistentStoreUbiquitousContentNameKey 和 NSPersistentStoreUbiquitousContentURLKey 来指定持久存储在普遍存在中具有给定的名称和 URL。 但是这个键在 iOS 10.0 中被弃用了。因此需要使用备用 api 删除这个已弃用的 api。

-(NSPersistentStoreCoordinator *)persistentStoreCoordinator
{
    //Return if the persistance store exists.
    if (__persistentStoreCoordinator != nil) {
        return __persistentStoreCoordinator;
    }

    __persistentStoreCoordinator = [[NSPersistentStoreCoordinator alloc] initWithManagedObjectModel: [self managedObjectModel]];
    NSPersistentStoreCoordinator *psc = __persistentStoreCoordinator;

    NSMutableDictionary *options = [NSMutableDictionary dictionary];

    [options setObject:iCloudEnabledAppID            forKey:NSPersistentStoreUbiquitousContentNameKey];
    [options setObject:iCloudLogsPath                forKey:NSPersistentStoreUbiquitousContentURLKey];
    [options setObject:NSFileProtectionComplete forKey:NSPersistentStoreFileProtectionKey];

    [psc lock];

    return __persistentStoreCoordinator;
}

我浏览了 iOS 10.0 的发行说明,但没有找到任何解决方法。 这些键有替代品吗?

【问题讨论】:

    标签: ios objective-c core-data ios10 icloud


    【解决方案1】:

    这些键别无选择。这些密钥与 Core Data 的 iCloud 集成一起使用,该集成在 iOS 10 中已弃用。所有使用它的方法、变量等现在都已弃用。没有直接替换。 iCloud 集成将继续工作(和以往一样),但可能会在某个时候关闭。

    Apple 提供 CloudKit,但它不是直接替代品,因为它的工作方式不同。使用 CloudKit 并不意味着替换这些键,而是意味着重新设计您的应用程序。有一个名为 Ensembles 的开源框架,它可以像使用 iCloud 的 Core Data 一样工作,这可能是您需要的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-04
      • 1970-01-01
      • 1970-01-01
      • 2019-10-11
      • 2012-08-13
      相关资源
      最近更新 更多