Q:「システム環境設定」の「アカウント」パネルでユーザのアクセスを制限しようとしましたが、アプリケーションの選択が維持されません。何が間違っているのでしょうか。
A:「Info.plist」ファイルにアプリケーションに対応する CFBundleIdentifier キーがないことが考えられます。このキーはシステム上のアプリケーション固有の識別子です。これは、Java パッケージに似るようにすることが推奨されている com.mycompany.MyApp のような String 値を持っています。
「システム環境設定」の「アカウント」パネルでは、管理者が特定のアプリケーションに対するユーザのアクセスを制限できます。このアクセス制御は現在、 CFBundleIdentifier キーを使用して実装されています。このキーが未定義であったり、アプリケーションに対して一意でない場合、「システム環境設定」はアプリケーションを見つけたり識別したりする方法が分かりません。その結果、たとえ管理者がチェックしても、次に「アカウント」パネルを開いたときには、アプリケーションがチェックしていない状態になります。これはまた、アプリケーションに必要なアクセス制御が行われないことを意味します。
この問題は、アプリケーションに固有の CFBundleIdentifier 値があることを確認するべき多くの理由の 1 つです。CFBundle および CFPreferences API など、システムの他の領域もこのキーに依存して適切に機能します。
注意:Xcode のほとんどのテンプレートは、できるだけ多くの問題を避けるために CFBundleIdentifier に汎用のデフォルト値を提供します。しかし、同一の CFBundleIdentifier 値を持ったアプリケーションは互いにオーバーライドするため、固有の値を設定することが重要です。
ドキュメントの改訂履歴
掲載日: 2005-02-03 |