相关疑难解决方法(0)

Xcode 6 iOS 8 iCloud核心数据设置

有没有人在Xcode 6和iOS 8上获得iCloud核心数据同步设置?(希望这不是一个重复的帖子)

iCloud核心数据存储选项在哪里?

我记得Core Data有一个名为Core Data storage的额外存储选项,但现在在Xcode 6中,当我在Xcode 6中启用iCloud切换时,它似乎只显示键值和文档存储.

背景资料

  • 新的iPad应用程序
  • Xcode 6
  • 针对iOS 7的最低版本,但也希望它适用于iOS 8?(我们可以将iOS 8设置为最低限度)
  • 想要使用iCloud核心数据存储而不是键值或文档存储.
  • 已在设置> iCloud中为模拟器和iPad设备登录了相同的Apple帐户
  • 用于对应用程序进行代码签名的配置文件已启用iCloud进行开发和分发(由Xcode自动启用)

我的设置

到目前为止,我不知道我是否正确设置了Core Data iCloud.

Xcode似乎已在iOS Developer Portal中设置了iCloud容器:

iCloud.com.xxxxxx.xxxxxxxx   (note: I've replaced the actual strings with xxxx here)
Run Code Online (Sandbox Code Playgroud)

我的Xcode 6 iCloud"服务"列表显示旁边没有刻度:

  • 键值存储
  • iCloud文档
  • CloudKit

我们现在应该使用哪一个,因为它没有将"核心数据"列为存储选项?

在"服务"正下方的"容器"中,它显示以下灰色选项:

  • 使用默认容器(默认情况下勾选此选项)
  • 指定自定义容器
  • iCloud.com.xxxxxxxxxx.xxxxxxxxx(再次用xxxx替换真实标识符)

我无法选择任何选项,它似乎迫使我"使用默认容器".

最后,Xcode似乎显示为:

  • 将"iCloud"权利添加到您的App ID
  • 将"iCloud容器"权利添加到您的App ID
  • 将"iCloud"权利添加到您的权利文件中
  • 链接CloudKit.framework

因此,通过Xcode自己的自动化流程,它为我设置了一切.

参考代码

好的,所以我四处阅读并注意到这里写的iCloud堆栈:

https://github.com/mluisbrown/iCloudCoreDataStack

我已经采取了必要的代码并尝试适应我的核心数据管理器单例:

DataManager.h文件

+ (id)sharedModel;
+ (ALAssetsLibrary *)sharedLibrary;

@property (nonatomic, readonly) NSManagedObjectContext *mainContext;
@property (nonatomic, readonly) NSPersistentStoreCoordinator *storeCoordinator;

- …
Run Code Online (Sandbox Code Playgroud)

core-data ios icloud xcode6 ios8

42
推荐指数
1
解决办法
2万
查看次数

使用iOS 8的iCloud,Core Data和Xcode 6.01的代码签名权利无效

我已经在App Store中现有的应用程序,它与iOS 7的作品非常好和8是一个使用核心数据存储synching从用户添加的信息,以及iCloud中(键 - 值存储)的应用程序.

使用Xcode 5.1.1,一切都运行良好.我刚刚花了一些时间为我的用户发布紧急时区修复,因此修复与iCloud和Core Data无关.自从Xcode 6.0.1和iOS 8 SDK发布以来,我开始使用它.

在今天早上验证我的应用程序时,我收到以下错误:

Invalid Code Signing Entitlements. The entitlements in your app bundle signature do not match the ones that are contained in a provisioning profile. The bundle contains a key that is not included in the provisioning profile: 'com.apple.developer.icloud-container-environment' in Payload/AppName.app/AppName'.
Run Code Online (Sandbox Code Playgroud)

在Developer门户中,我的App ID启用了iCloud,但仅适用于Xcode 5,因为我还不想使用CloudKit:

在此输入图像描述

在Xcode的部分中,在Xcode 6中,我现在看到以下内容,就像其他人一样:

在此输入图像描述

使用我的权利文件夹.所以在我的情况下,它类似于82828282.com.company.app,并且在功能部分中为红色.

在此输入图像描述

我不太明白我应该做些什么来让这个工作.

问题

1)我应该使用CloudKit吗?

2)我是否必须在Developer Portal的App ID中启用CloudKit?

3)我应该在Developer Portal中使用iCloud容器吗?

我目前的iCloud设置是使用权利:TeamID.identifier.

我通过从Xcode 5.1.1提交应用程序来解决这个问题,因为这是一个紧急修复,但我只是不明白如何使用iOS 8和Xcode 6.0.1进行未来开发,使用iCloud和我的应用程序中仍然启用了核心数据.

我已经看到了一些类似的案件中SO,喜欢这里(iCloud的核心数据不可用在Xcode 6/IOS 8 SDK运行后),并利用核心数据,iCloud的和CloudKit进行同步,备份,以及如何协同工作,但我真的不确定该怎么做.

任何指导都非常值得赞赏.

xcode core-data objective-c ios8 cloudkit

5
推荐指数
1
解决办法
1809
查看次数

哪个API可以替代iCloud的核心数据

更新,2016年6月:截至NSPersistentStoreCoordinator的最新文档,与iCloud的Core Data相关的所有内容都标记为已弃用.因此,应该避免新的开发.

使用Core Data,iCloud和CloudKit进行同步和备份以及它如何协同工作

重要信息iCloud与Core Data的使用已被弃用,不再受支持.

关于将iCloud与Core Data一起使用

我一直在阅读有关将iCloud与Core Data集成的内容.上面提到的Stack Overflow回答提到了将核心数据库同步到iCloud的可能性,但也说它已被弃用了. 什么技术应该取代它.是CloudKit吗?有人可以指出有关如何将Core Data与云同步集成的文档(无论哪种API /技术应该替换它)

core-data ios icloud swift cloudkit

4
推荐指数
1
解决办法
781
查看次数

标签 统计

core-data ×3

cloudkit ×2

icloud ×2

ios ×2

ios8 ×2

objective-c ×1

swift ×1

xcode ×1

xcode6 ×1