2011-02-07 9 views
1

私のアプリケーションがキーチェーンデータにアクセスしたいときはいつでもポップアップするキーチェーンダイアログを無効にすることができますか?私のアプリは、入力されたパスワードが正しいかどうかを確認するために、TextFieldの文字列とキーチェーンエントリを比較します。Keychain Permissionダイアログを無効にしますか?

正常に動作しますが、アクセス権が必要です。

この現象を回避するにはどうすればよいですか?

敬具、 エイドリアン

答えて

9

別のアドバイスも、OS X上で、あなたの実行可能ファイルを、コード署名することです

そうでない場合は、S /彼はときに、プログラム、プログラムがキーチェーンにアクセスすることを可能にする場合、システムは常にユーザーに尋ねます以前に「常に許可」を選択した場合でも、更新されます。これは、いわゆる更新されたプログラムが真に更新されたバージョンであるかどうかをシステムが知ることができないからである。

in this Apple documentと書かれているように、コード署名すれば、システムがあなたの新しいバージョンのアプリを伝えることができるので、プログラムが更新されたときにプログラムがキーチェーンにアクセスできるようにする同じプログラマーによって発行された、本当に新しいバージョンのアプリです。

したがって、キーチェーンダイアログの数を最小限に抑えるには、アプリにコード署名を付けます。はい、iOSとは異なり、OS Xではオプションですが、いくつかの利点があります。

8

ユーザーがアプリケーションを自分のキーチェーンにアクセスできるかを制御しているように、これは、意図した動作です。プロンプトが表示されないようにするには、ダイアログで[常に許可]をクリックします。

+0

「常に許可」は、アプリが更新されるまで有効です。コード署名の回答は正しいです。 –

関連する問題