我有一个应用程序,它在AppDelegate中使用Core Data和标准的Apple Core Data堆栈。我已经修改了堆栈,以便使用CloudKit增强Core Data。所有数据都可以很好地同步所有设备。到目前为止一切都很好。
我想在我的应用中添加今日扩展,但我不知道如何访问数据。我一直在阅读有关AppGroup概念的内容,但我也读到我不应该/不能使用它来访问Today Extension中的数据。因此我认为我应该使用CloudKit,因为我了解到NSManagedObjects在上传到iCloud后会转换为CKRecords。
我究竟如何通过使用CloudKit增强功能的Core Data存储的iCloud访问数据? 该数据究竟存储在iCloud中的哪个位置?
虽然所有数据都很好地同步,但当我登录iCloud Dashboard时,似乎没有数据存在。我读过的所有SO文章似乎都只解决了我的一部分问题。
以下是我在我的应用中使用的经过修改的核心数据堆栈:
select.on('select', function() {
var info = [];
this.getFeatures().forEach(function(feature){
info.push(feature.get('DIVISION'));
});
infoBox2.innerHTML = info.length ? info.join(', ') : ' ';
});
答案 0 :(得分:0)
经过一些研究后,这似乎是苹果未解决的问题。 Core Data和iCloud不能与Extensions一起使用。看看这篇文章:
https://devforums.apple.com/message/1050891#1050891
有点无聊。希望他们至少在iOS9中修复它。