Я делаю настройку, которая работает в backboardd, если я просто отпишусь после установки, она не работает, я должен полностью перезагрузить свой iPhone. Есть ли еще какие-то другие способы не перезапускать устройство?Должен ли я перезапустить устройство не только для установки, чтобы установить настройку для backboardd?
ответ
Вы можете выполнить это в вашем postinst сценарии, если вы устанавливаете ваш твик как пакет Debian (* .deb)
launchctl stop com.apple.backboardd
Backboard будет автоматически перезагружен и Cydia-субстрат должен иметь возможность вводить свой подправить в нем ,
Примечание: поскольку вы говорите, что используете iOSOpenDev для создания своих настроек, есть еще один вариант, так как файл postinst
работает отлично.
Добавьте еще одну команду после установки в скрипт пользовательской сборки, который iOSOpenDev создаст для вашего проекта.
Вы уже должны увидеть это под Target ->Строительные Фаз ->Run Script:
Просто добавьте следующую строку, где стрелка находится (линия 2):
/opt/iOSOpenDev/bin/iosod run -h ${iOSOpenDevDevice} 'su mobile -c uicache'
Обратите внимание, что для этого необходимо установить пакет инструментов UIKit из Cydia. (Для запуска uicache
)
Вы должны также иметь определенный пользователем Построить Установку настройки iOSOpenDevDevice
равных IP-адрес вашего устройства, так что установка может происходить с помощью Wi-Fi.
Спасибо, но как я могу добавить эту команду в «postinst script»? Я использую iosopendev в xcode. – Suge
@Suge, см. [Эту ссылку] (http://www.debian.org/doc/manuals/debian-faq/ch-pkg_basics.en.html) для получения некоторой информации о форматах пакетов Debian. В основном, в вашем пакете .deb у вас будет скрипт 'DEBIAN/postinst', и вам просто нужно поставить команду' launchctl', показанную выше в этом скрипте (после обычной строки '#!/Bin/bash', конечно). Cydia запустит этот скрипт после установки вашего твика. – Nate
@Nate, спасибо, это очень полезно, я решил это. – Suge