4

まずiPhoneでアプリケーションを実行するには、iPhoneにプロビジョニングプロファイルを追加する必要があります。良い。しかし、リソースの下のxCodeのiphoneアプリケーションにentitlements.plistを追加する理由がわかりません。

  • そのentitlements.plistファイルは実際に何をしますか?
  • なぜその.plistファイルにはブール値が1つしかないのですか?(get-task-allow)
  • そのブール変数をapplication-info.plistに追加できませんか?

つまり、単一のブール変数を別のplistファイルに保存する理由を見つけることができません。代わりに、application-info.plistにはすでに多くのアプリケーション設定が含まれています。このブール変数をapplication-info.plistに追加するだけでは不十分です。

とにかく、わかりました。私は知っています-それは不可能でしょう。私たちは従わなければならないので-アップルが言うこと。しかし、ここでこれらすべての背後にある主な意図は

  • 「entitlements.plistの基本的な必要性は何ですか?」また
  • 「entitlements.plistの機能は何ですか?」
  • 「プロビジョニングプロファイル、entitlements.plist、application-info.plist、iPhoneアプリケーションをすべて一緒にコンパイルし、iPhoneで検証して、iPhoneで実行するにはどうすればよいですか?」
4

1 に答える 1

3

資格は、実際にはiPhoneOSのセキュリティ対策です。iPhone開発ガイドからの引用:

資格。これらのファイルは、アプリケーションにiPhone OS機能(プッシュ通知など)および安全なデータ(ユーザーのキーチェーンなど)へのアクセスを提供するプロパティを定義します。

公開されているのは、使用できる唯一のエンタイトルメントキーですget-task-allow。これにより、最終的にptrace()関数をアプリで使用できるようになり、デバッグが可能になります。

しかし、個人的に使用される資格はたくさんあります。

  • task_for_pid-allowtask_for_pid()、(関数を介して)他のプロセスを制御できるようにする
  • run-unsigned-code、署名なしでこのアプリからコードを実行できるようにします。
  • com.apple.springboard.launchapplications、、com.apple.springboard.wipedeviceなど。

署名されていないInfo.plistとは異なり、plistはアプリのバイナリに添付され、署名されます。信頼の鎖が壊れていない場合、これはいくつかの(危険な)行動に対する権利の権利として機能します。

于 2010-04-21T06:29:02.107 に答える