前提・実現したいこと
macOS用アプリを App Store Connect から App Store に載せたいです。
しかし、その載せたいアプリが一つの問題によって却下されてしまいました。
このアプリの機能がアクセシビリティへのアクセス許可が必要な為、アプリを起動した際にアラートでシステム環境へユーザーが移動できるように設定してあるのですが、そこが不十分らしく、「パフォーマンスの問題」と言う却下理由を審査の方からいただきました。
審査の方から頂いたメッセージは以下の通りです。
Rejectメッセージ
Aug 6, 2020 at 9:27 AM From Apple 2. 1 Performance: App Completeness (macOS) Guideline 2.1 - Performance We discovered one or more bugs in your app when reviewed on Mac running macOS 10.15.6. Specifically, the app does not appear to be listed in the Accessibility page.
最後の文を詳しく翻訳すると、System Preference (環境設定)-> セキュリティーとプライバシー -> プライバシー -> アクセシビリティのページへ移動した際に、アクセスを許可するリストにアプリが入っていないと言う事だそうです。
アクセシビリティーの許可を得るために、以下のコードをAppDelegate.swift内におき、return された値をもとにアラートを出す様に設定したのですが、不十分らしいです。
該当のソースコード
// Check keyboard accesibility permission. func checkAccesibility() -> Bool { let options: NSDictionary = [kAXTrustedCheckOptionPrompt.takeUnretainedValue() as String : true] let accessEnabled = AXIsProcessTrustedWithOptions(options) if !accessEnabled { print("Access Not Enabled") return false } else{ print("Able to access keyboard") return true } } func openSystemPreferenceAccesibilityPrivacy() { print("Go to System Preferences") let prefsURL = URL(string: "x-apple.systempreferences:com.apple.preference.security?Privacy_Accessibility")! NSWorkspace.shared.open(prefsURL) } // Show an alert if accesibility is disabled. func showPopUp() { print("Show popup") let alert = NSAlert() alert.messageText = "\"Memorian.app\" whould like to control this computer using accessibility feature." alert.informativeText = "Grant access to this application in Security & Privacy preference, located in System Preferences." alert.alertStyle = .informational alert.addButton(withTitle: "Deny") alert.addButton(withTitle: "Open System Preferences") let ret = alert.runModal() switch ret { case .alertFirstButtonReturn: print("Denied") case .alertSecondButtonReturn: openSystemPreferenceAccesibilityPrivacy() default: print("Other:(ret)") } }
試したこと
試したことは、アクセシビリティの許可を得ていない場合、アプリのスクリーンにアクセシビリティの許可をする順序を載せる等をしてみましたがダメでした。
また、macOSやiOSアプリがカメラや写真へのアクセスをする際、info.plistで設定をすることがあることを思い出し、アクセシビリティーへの許可もinfo.plistの編集が必要なのではないかと思い、調べてみたのですが、十分な情報を得ることができませんでした。
もしこの問題の解決する方法を知っている方がいましたら是非教えていただけると助かります。
よろしくお願いします。
補足情報(FW/ツールのバージョンなど)
システム:macOSX, Macbook Air
言語:Swift 5
ライブラリ:RealmCocoa
あなたの回答
tips
プレビュー