iPhone + профиль инициализации + app-info.plist + rightlements.plist = iPhoneApp?Как ?Что именно делает rightlemets.plist? - PullRequest
3 голосов
/ 21 апреля 2010

Прежде всего, чтобы выполнить свое приложение в iPhone, я должен добавить профиль обеспечения в свой iPhone. Хорошо. Но я не понимаю причину, по которой стоит добавить файл title.plist в приложение iphone в xCode под ресурсами.

  • Что на самом деле делает этот файл authorlements.plist?
  • Почему этот файл .plist содержит только один логический тип? (Get-проблемно-позволяют)
  • Разве мы не можем добавить эту логическую переменную в application-info.plist?

Я имею в виду, я не могу найти причину хранения одной логической переменной в отдельном файле plist. Вместо этого application-info.plist уже содержит много настроек приложения. Разве мы не можем просто добавить эту логическую переменную в application-info.plist.

Хорошо, так или иначе. Я знаю - это не будет возможно. Потому что мы должны следовать - что говорит яблоко. Но вот главное намерение, стоящее за всем этим, было

  • "Какова основная потребность в rightlements.plist?" или
  • «Каковы функциональные возможности файла rightlements.plist?»
  • «Каким образом профиль обеспечения, authorlements.plist, application-info.plist и приложение для iPhone компилируются все вместе, проверяются на iPhone и выполняются на iPhone?»

1 Ответ

3 голосов
/ 21 апреля 2010

Право на самом деле является мерой безопасности iPhoneOS. Цитируется из Руководство по разработке iPhone :

Права. Эти файлы определяют свойства, обеспечивающие доступ вашего приложения к функциям iPhone OS (например, push-уведомлениям) и защищенным данным (таким как цепочка для ключей пользователя).

Публично, единственным ключом, который вы можете использовать, является get-task-allow, который в конечном итоге позволяет использовать ptrace() функцию для приложения, что позволяет отладку.

Но в частном порядке используется много прав, например,

  • task_for_pid-allow, чтобы разрешить управление другими процессами (через функцию task_for_pid())
  • run-unsigned-code, чтобы разрешить запуск кода из этого приложения без подписи.
  • com.apple.springboard.launchapplications, com.apple.springboard.wipedevice и т. Д.

Список будет прикреплен и подписан вместе с двоичным файлом приложения - в отличие от Info.plist, который не подписан. Если цепочка доверия не нарушена, это действует как право прав на некоторые (опасные) действия.

...