如何同步核心数据icloud与ios和macOs应用程序



我正在开发一个iPad应用程序,使用CoreData与iCloud。效果很好!我能够打开~/Library/Mobile Documents"与我的团队ID和iCloud容器相匹配的文件夹。我也在做一个macOS应用程序,需要访问iCloud。在macOS应用中,我添加了iOS应用的容器ID。所以我有两个容器ID: ca.company.MacContainerID和ca.company.IPadContainerID,适用于iPad应用程序。

当我在MacOS应用程序中执行以下代码时,URLForUbiquityContainerIdentifier:返回nil。

NSFileManager *fileManager = [NSFileManager defaultManager];
NSString *containerID =  @"A1B2C3E4F5.ca.company.IPadContainerID";
NSURL *url = [fileManager URLForUbiquityContainerIdentifier:containerID];    
url is nil

我不知道如何从iPad应用程序中访问iCloud的核心数据。你有什么主意吗?

一定是你的containerID有问题。你仔细检查过身份字符串了吗?

我找到解决方案了!我正在用iOS配置文件构建Mac应用程序。所以我设置了Mac配置,它工作了;URLForUbiquityContainerIdentifier返回一个非空值

最新更新