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

"이유": "파일을 만들지 못했습니다. 코드 = 1 "

info.plist 파일에 YESRequestOpenAccess 설정을 시도하지만 여전히 작동하지 않습니다. 누군가가 포스트 아래에 바로 키보드 작동하는 문제에 대한 idead?

+0

"group.testKeyboard.asanpardakht.ir"응용 프로그램 그룹에 대한 인 타이틀먼트 설정이 있습니까? –

+0

예, 키보드 타겟 및 앱 타겟 모두 –

답변

0

내가 파악을 가지고 있습니까 너무 확장 :

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

유일한 문제는 키보드 확장을 위해 우리는 또한에 info.plist에서 RequestOpenAccess을 설정해야한다는 것입니다.

키보드 설정에서 YES으로 설정하면 Full Access에 대한 옵션이 표시되고 켜기 코드가 실제 장치에서도 작동합니다.

개발자는 퀘스트에서 메서드를 호출하기 전에 옵션을 On으로 설정하도록 요청해야합니다.