私はキーボード拡張プロジェクトに取り組んでいます。アプリケーション コードのある時点で、ユーザーがキーボード拡張機能の「フル アクセスを許可」権限を付与しているかどうかをテストする必要があります。アプリケーション側からこれらのテストを行う必要があり、これに基づいて、ユーザーがキーボード設定にアクセスしたり、許可が与えられなかった場合に警告したりできるようにする必要があります。
問題は、ここで提供されているメソッドが次のようになっていることです。
func isOpenAccessGranted() -> Bool {
return UIPasteboard.generalPasteboard().isKindOfClass(UIPasteboard)
}
また:
func isOpenAccessGranted() -> Bool {
let fm = NSFileManager.defaultManager()
let containerPath = fm.containerURLForSecurityApplicationGroupIdentifier(
"group.com.example")?.path
var error: NSError?
fm.contentsOfDirectoryAtPath(containerPath!, error: &error)
if (error != nil) {
NSLog("Full Access: Off")
return false
}
NSLog("Full Access: On");
return true
}
この権限の影響を受けるのはキーボードだけであるため、キーボード側からのみ作業します。含まれているアプリ側からは、これらのメソッドは両方とも常に true を返します。
アプリケーション側からこれをテストする信頼できる方法を誰かが知っていますか?