私はgithubページを読んで、私のiosキーボードエクステンションとアプリケーションの間でcoredata
を共有するコードを使用しました。iosキーボードエクステンションのCoredata
https://github.com/maximbilan/iOS-Shared-CoreData-Storage-for-App-Groups
コードは、右のシミュレータに取り組んでいるが、動作していないが、addPersistentStore
は、実際のデバイス上で動作していない:
lazy var persistentStoreCoordinator: NSPersistentStoreCoordinator? = {
// The persistent store coordinator for the application. This implementation creates and return a coordinator, having added the store for the application to it. This property is optional since there are legitimate error conditions that could cause the creation of the store to fail.
// Create the coordinator and store
var coordinator: NSPersistentStoreCoordinator? = NSPersistentStoreCoordinator(managedObjectModel: self.managedObjectModel)
let directory = FileManager.default.containerURL(forSecurityApplicationGroupIdentifier:"group.testKeyboard.asanpardakht.ir")!
let url = directory.appendingPathComponent("AsanPardakhtSharedData.sqlite")
do {
try coordinator!.addPersistentStore(ofType: NSSQLiteStoreType, configurationName: nil, at: url, options: nil)
} catch var error as NSError {
coordinator = nil
NSLog("Unresolved error \(error), \(error.userInfo)")
abort()
} catch {
fatalError()
}
print("\(String(describing: coordinator?.persistentStores))")
return coordinator
}()
私はエラーの下に出る:
NSErrorドメイン: "NSCocoaErrorDomain" - コード:512
"reason": "ファイルの作成に失敗した;コード= 1"
私は私のinfo.plist
ファイルにYES
にRequestOpenAccess
を設定しようとしたが、それはまだ動作していません。誰かが、問題についてのideadを持っていますか?
「group.testKeyboard.asanpardakht.ir」というアプリケーショングループの資格が設定されていますか? –
はい、キーボードターゲットとアプリターゲットの両方に対応します –