Подтвердить что ты не робот

Как изменить права доступа к приложениям iOS?

Мне нужно запустить следующий код, чтобы отключить экран iphone.

В iOS6:

void (*BKSDisplayServicesSetScreenBlanked)(BOOL blanked) = (void (*)(BOOL blanked))dlsym(RTLD_DEFAULT, "BKSDisplayServicesSetScreenBlanked");

а затем используйте:

BKSDisplayServicesSetScreenBlanked(1); // 1 to dim, 0 to undim

Это не работает. Кто-то сказал мне, что мне нужны com.apple.backboard.client права на это, чтобы работать на моем iphone. Я не знаю, как установить эти права. Я видел несколько способов установить права, но они очень запутывают меня, как этот.

Да, вам нужно закодировать подписывать права. Но нет, это не должны быть с сертификатом Apple на взломанных телефонах. Ты можешь поддельный кодовый знак, загружая исполняемый файл ldid и выполняя

cd MyAppName.app 
ldid -Sentitlements.xml MyAppName

Предполагая, что ваше приложение называется MyAppName, и вы сделали права file entitlements.xml. Я считаю, что этот файл прав работа для вас, если вы подделали код с его помощью с ldid.

<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
 "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0">
   <dict>
     <key>com.apple.backboard.client</key>
     <true/>
   </dict> 
</plist>

Даже с указанным выше способом, где я могу разместить вышеупомянутый файл прав?

4b9b3361

Ответ 1

Для приложения/права на джейлбрейк вам нужно сделать что-то вроде этого. Сначала создайте файл с именем entitlements.xml (или что вам угодно):

<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
  <dict>
    <key>com.apple.backboard.client</key>
    <true/>
  </dict>
</plist>

Если вам нужно, вы можете добавить больше. Этот примерный файл предоставляет приложение только com.apple.backboard.client.

На самом деле не важно , где вы помещаете этот файл. Ключ:

  • Вам нужно будет изменить файл Xcode SDKSettings.plist, как показано здесь. CODE_SIGNING_REQUIRED должен быть установлен на NO.
  • Не кодируйте подписи своего приложения в Xcode. В Настройки сборки убедитесь, что для идентификатора знака кода установлено значение Не использовать код.
  • После того, как вы Сстроили ваше приложение для устройства iOS (не Simulator!), перейдите в каталог на вашем Mac, где находятся выходные файлы. Для приложения с именем HelloWorld вы ищете папку HelloWorld.app. Он может отличаться в зависимости от вашей конфигурации, поэтому я не буду пытаться сказать вам, где это. Если есть сомнения, используйте команду командной строки find.
  • Загрузите ldid, предварительно построенный из этого местоположения или в качестве источника здесь.
  • Скопируйте файл entitlements.xml в тот же каталог, где находится HelloWorld.app. (Примечание: у вас нет , чтобы иметь его здесь... если вы поместите его в другое место, просто отредактируйте командную строку, которую я покажу вам ниже).
  • Измените каталог в каталог, в котором находится файл entitlements.xml.
  • Поддельный код с этой командой:
$ldid -Sentitlements.xml HelloWorld.app/HelloWorld

После этого вам нужно будет перенести всю папку HelloWorld.app, чтобы установить приложение на свое устройство. Там много способов сделать это, и похоже, что у вас уже есть способ.

У меня есть вся эта настройка процесса с помощью script, чтобы было проще.

Примечание: Я не утверждаю, является ли это право правильным правом использовать для вызова BKSDisplayServicesSetScreenBlanked() на iOS 6. Я этого не тестировал. Я знаю, что это право позволяет вам использовать SBDimScreen() для более низких версий iOS. Но этот ответ - это просто описание , как, чтобы добавить такой вид права на приложение для джейлбрейка.

Ответ 2

Права предоставляются либо в файле проекта Xcode, либо в файле разрешений, который выбирает проект Xcode.

Посмотрите в настройках проекта в разделе "Сводка" или "Сборка фаз" для параметра или имени файла прав.