因此,我正在尝试使用父应用程序存储的数据创建今天的窗口小部件扩展。无法用无URL创建SQL存储
我试图通过创建Persistent Store Coordinator
来做到这一点,就像您在父应用程序中做的一样,并使用主应用程序数据库的URL。
但是,当这样做时,我得到以下错误;
2016年3月13日12:59:02.155 TodayWidget [10942:1456153]无法从5079继承 CoreMedia权限:(空)2016年3月13日12:59:02.336 TodayWidget [10942:1456112 ] ***由于未被捕获而终止应用程序 异常'NSInvalidArgumentException',原因:'无法创建具有零URL的SQL 存储'。
以下是我在“今日”小部件视图控制器中所做的操作。 containerPath
与今天的扩展目标的包标识符相同。 containerPath?.URLByAppendingPathComponent
sql文件名与父应用程序核心数据堆sql文件名相同,modelURL
与父应用程序中的相同。
var context: NSManagedObjectContext!
let fileManager = NSFileManager.defaultManager()
var containerPath = fileManager.containerURLForSecurityApplicationGroupIdentifier("com.company.APPNAME.TodayWidget")
containerPath = containerPath?.URLByAppendingPathComponent("SingleViewCoreData.sqlite")
let modelURL = NSBundle.mainBundle().URLForResource("APPNAME", withExtension: "mom")
let model = NSManagedObjectModel(contentsOfURL: modelURL!)
let coordinator = NSPersistentStoreCoordinator(managedObjectModel: model!)
do {
try coordinator.addPersistentStoreWithType(NSSQLiteStoreType, configuration: nil, URL: containerPath, options: nil)
} catch {
print("yellow")
}
context = NSManagedObjectContext(concurrencyType: .MainQueueConcurrencyType)
context.persistentStoreCoordinator = coordinator
有谁知道我该如何解决这个错误?
PS:我已经启用并创建了应用组,并添加了当天窗口小部件作为核心数据模型和子类的目标。
没有人已经解释了原因,其他时间,你问,然后删除该问题? – 2016-03-14 22:04:43
@PetahChristian不,他们只是说我应该调查containerPath,问题也不是很详细,问题本身也不清楚。 – RileyDev
你为什么不改进原来的问题?关于错误没有任何改变。和以前一样,你的'containerPath'仍然是零。 – 2016-03-14 23:20:48