0

私は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ファイルにYESRequestOpenAccessを設定しようとしたが、それはまだ動作していません。誰かが、問題についてのideadを持っていますか?

+0

「group.testKeyboard.asanpardakht.ir」というアプリケーショングループの資格が設定されていますか? –

+0

はい、キーボードターゲットとアプリターゲットの両方に対応します –

答えて

0

私はポストの下に右のキーボードのために働くことを考え出しましたあまりにも拡張子は:

https://github.com/maximbilan/iOS-Shared-CoreData-Storage-for-App-Groups

唯一の問題は、キーボード延長のために、我々はまた、にinfo.plistRequestOpenAccessを設定しなければならないことです。

キーボードの設定でYESに設定すると、Full Accessのオプションが表示され、コードは実際のデバイスでも有効になります。

開発者は、クエストでメソッドを呼び出す前に、オプションをオンにするように頼む必要があります。

関連する問題