Root-права для настройки мобильного субстрата

Я разрабатываю настройку, которая, когда Интернет доступен, что-то делает. Это делается с помощью API доступности Apple. Твик загружается в SpringBoard. У меня есть файл .plist, содержащий некоторую информацию в /MyTweaksFolder. Я могу прочитать его, но я не могу изменить или изменить его. Я предполагаю, что это связано с привилегиями SpringBoard.

Мой вопрос: как я могу предоставить root-доступ в настройке SpringBoard?


person user3519705    schedule 23.05.2014    source источник


Ответы (1)


Вы не предоставляете привилегии твику, вы предоставляете их процессу, в который загружается твик (в вашем случае SpringBoard). Но я бы не рекомендовал этого делать. Я помню, как пытался, и SpringBoard не работал должным образом.

Если вам нужны привилегии root, вы должны создать демон. Насколько я понимаю, вы перехватываете методы SpringBoard. Так что это будет твик и демон. Когда вам нужно что-то сделать от имени пользователя root, ваш твик отправит уведомление демону. Можно даже получить адекватный ответ. Например, CFMessagePort API позволяет вам довольно легко выполнять IPC с вашим демоном и даже получать ответ синхронно, чтобы упростить код. Вам понравится, что вы просто вызываете функцию.

Это все для общего случая. В вашем случае вам просто нужно поместить файл .plist в другой каталог, где у SpringBoard есть права на запись. Неплохо бы поставить какой-нибудь каталог в /var/mobile/. Найдите тот, который работает, и поместите туда .plist.

person creker    schedule 23.05.2014