アプリケーションがキーチェーン データにアクセスするたびにポップアップするキーチェーン ダイアログを無効にすることはできないのでしょうか。私のアプリは、入力されたパスワードが正しいかどうかを確認するために、TextField の文字列をキーチェーン エントリと比較します。
正常に動作しますが、アクセス許可を求めます。
この動作を回避するにはどうすればよいですか?
よろしく、 エイドリアン
アプリケーションがキーチェーン データにアクセスするたびにポップアップするキーチェーン ダイアログを無効にすることはできないのでしょうか。私のアプリは、入力されたパスワードが正しいかどうかを確認するために、TextField の文字列をキーチェーン エントリと比較します。
正常に動作しますが、アクセス許可を求めます。
この動作を回避するにはどうすればよいですか?
よろしく、 エイドリアン
もう 1 つのアドバイスは、OS X でも、実行可能ファイルにコード署名することです。
そうしないと、システムは、ユーザーが以前に「常に許可」を選択した場合でも、プログラムの更新時にプログラムがキーチェーンにアクセスすることを許可するかどうかを常にユーザーに尋ねます。これは、いわゆる更新されたプログラムが本当に更新されたバージョンであるかどうかをシステムが判断できないためです。
この Apple ドキュメントに書かれているように、コード署名すると、システムは、プログラムが更新されたときにプログラムがキーチェーンにアクセスすることを許可するかどうかをユーザーに尋ねません。実際には、同じプログラマーによって発行されたアプリの新しいバージョンです。
そのため、キーチェーン ダイアログの数を最小限に抑えるには、アプリにコード署名します。はい、iOS とは異なり、OS X ではオプションですが、いくつかの利点があります。
これは意図された動作であり、ユーザーはキーチェーンにアクセスできるアプリを制御できます。プロンプトを回避するには、ダイアログの [常に許可] をクリックします。