iOS 키보드 확장자를 만들려고하지만 포함하는 앱의 데이터를 확장 프로그램과 동기화/업데이트하는 데 문제가 있습니다. 다큐먼트 상태로 스위프트 키보드 확장 업데이트 NSUserDefaults
, 나는 완벽하게 작동NSUserDefaults *mySharedDefaults = [[NSUserDefaults alloc] initWithSuiteName:@"com.example.domain.MyShareExtension"];
[mySharedDefaults setObject:theAccountName forKey:@"lastAccountName"];
을 사용하고 있습니다. 포함하는 응용 프로그램에서 키보드를 시작하기 전에 필자는이를 사용하고 키보드의 viewdidLoad에서 NSUserDefault를 확인하면 모든 것이 잘 작동합니다.
내 포함하는 앱에서 내 NSUserDefaults를 업데이트하는 경우 내 키보드 앱에서 NSUserDefaults가 업데이트되었음을 어떻게 알 수 있습니까?
KVO를 시도했지만 작동하지 않습니다. NSUserDidChangeNotification과 함께 NSUserDefaultsStandard를 시도했지만 작동하지 않습니다. NSUserDefaultsStandard는 키보드 확장을 위해 전혀 작동하지 않습니다.
내 키보드 확장에 NSTimer를 사용하고 NSNserDefaults를 매 X ms 확인하십시오. 그러나 그것은 과잉이다.
나는 AppStore에서 앱이 앱을 만들고 있기 때문에 가능하다고 알고 있습니다. BrightKey 또는 CoolKey는 포함 된 앱에서 키보드 디자인을 변경합니다. 그래서 콜백 또는 데이터를 업데이트 할 항목이 있습니다.
깨끗한 솔루션을 제공하는 사용자에게 미리 감사드립니다.
예,하지만로드를 기다릴 필요없이 수행하고 싶습니다. 앱 BrightKey 및 CoolKey는 예를 들어 키보드를 다시로드하지 않고 키보드 디자인을 변경합니다. –
테마를 선택할 때 키보드를 표시합니다. 그들은 키보드를로드 할 때 키보드가 인식하고 로컬에 저장하는 텍스트 필드에 매우 빠른 텍스트 ID를 입력합니다. – nurxyz
더 명확하게 표현할 수 있습니까? 키보드가 텍스트 ID에 어떻게 액세스합니까? 이제 ID가 어떻게 변경되었으므로 실시간으로 테마를 업로드 할 수 있습니까? –