Я разрабатываю твик Cydia под названием BrightnessControl (я новичок в разработке). На данный момент все, что он делает, это использует Winterboard для исправления var/stash/Applications/Brightness.plist моей модифицированной версией. Есть ли способ, возможно, с Теосом, чтобы я мог исправить этот файл без Winterboard? Я хочу каким-то образом создать резервную копию этого файла и заменить его моим измененным .plist после установки, а затем после удаления удалить мой измененный .plist и восстановить исходный .plist. Я видел что-то подобное, сделанное с другими настройками, но я не знаю, как это делается. Может ли кто-нибудь подтолкнуть меня в правильном направлении?
Как я могу сделать настройку Cydia, которая изменяет файлы при установке и отменяет изменения при удалении?
Ответы (1)
Для этого даже не нужно знать программирование. Хитрость заключается в скриптах postinst и prerm пакетов Debian.
Изменить: согласно комментариям @Nate: будьте осторожны, потому что эти сценарии также запускаются при обновлении пакета. Так, например, пакет с одним обновлением, которое затем удаляется, будет делать это:
1st installation:
run preinst
(APT installs your package)
run postinst
update:
run prerm of the old version
(APT removes old version)
run postrm of old version
run preinst of new version
(APT installs new version)
run postinst of new version
removal:
run prerm of new version
(APT removes the new version... you no longer have the package)
run postrm of new version
person
Community
schedule
31.07.2012
Благодарю вас! целует твои ноги
- person Brian Kieffer; 31.07.2012
Для голосования требуется 15 респ. :(
- person Brian Kieffer; 31.07.2012
@BrianKieffer спасибо (на всякий случай вы получили голос за свой вопрос :)
- person ; 31.07.2012
+1 от имени @BrianKieffer :). Если только это не уменьшит ваши шансы на получение значка Невоспетый герой (в этом случае дайте мне знать, и я отменю голосование!). Еще одно замечание относительно сценариев
rm
: однажды меня укусили, потому что я не понимал, что сценарии rm
(по крайней мере, postrm
, я бы предположил, что и prerm
) также запускаются при обновлении приложения. Cydia (через dpkg
) делает что-то вроде удаления старой версии и установки новой версии. Если я правильно помню, порядок их тоже был странным, так что обязательно хорошо протестируйте, если у вас есть что-то в сценариях удаления!
- person Nate; 01.08.2012
@Нейт, спасибо! Нет, я думаю, что у меня все равно нет шансов на этот значок :P (я скорее хочу получить легендарный ...) В любом случае, ваш комментарий был полезен, поэтому я обновлю свой ответ.
- person ; 01.08.2012
Мне удалось исправить файлы при установке/удалении/переустановке/обновлении. Я проверил [ -z $2 ], чтобы увидеть, обновляется или переустанавливается ли пакет, чтобы избежать проблем с обновлением/переустановкой. Спасибо еще раз! Патчи безупречны, хотя мне потребовалось много попыток, чтобы сделать это правильно!
- person Brian Kieffer; 02.08.2012
@BrianKieffer нет проблем, и будьте готовы встретить все больше и больше стандартных инструментов Unix на iOS;)
- person ; 02.08.2012