18 октября 2012

Удаляем лишние пункты из настроек iPhone

Некоторые умные программы прописывают себя в меню Settings и когда их там очень много это становится неудобным. Поэтому, чтобы удалить пункты настроек этих программ из меню Settings, потребуется сделать джейл, установить iFile, а затем через него зайти по следующему пути /Library/PreferenceLoader/Preference и просто перенести (а не удалить!) нужный файл (он имеет схожее название с программой которую вы хотите убрать) в каталог выше, т.е. в /Library/PreferenceLoader/ чтобы потом его можно было вернуть обратно, скопировав на прежнее место. Чтобы изменения вступили в силу делаем респриг или рестрарт, кому что удобнее.

Пункты меню настроек iphone прописаны здесь /var/stash/Applications/Preferences.app, в различных файлах *.plist. Это обычные текстовые файлы с xml синтаксисом. Например главное меню Настройки прописано в Settings.plist.  
В этих файлах имеется одно полезное свойство, признак устройства ipad, от которого зависит показывать пункт или нет. Для ios7 оно выглядит так
<key>requiredCapbilities</key>
<array>
<string>ipad</string>
</array>
Чтобы скрыть Найти Афон, придется убрать целиком пункт iСloud. Для этого в файле Settings.plist после <string>CASTLE</string> добавляем признак ipad. Он еще отображается в меню Приватность>Геолокация. Поэтому этот пункт тоже надо убрать. В файле Privacy.plist после <string>LOCATION</string> добавляем тоже самое. А так же в Ограничениях, для этого в файле Restrictions.plist после <string>LOCATION</string> так же добавляем этот признак.

Чтобы нельзя было отключить сеть, убираем пункт меню Настройка>Сотовая Связь>Сеть. В файле Network.plist после строчек <string>ENABLE_MOBILE_DATA_GROUP</string> и <string>MOBILE_DATA_SETTINGS<string> добавляем  те же строчки. Первый отвечает за комментарий, второй за сам переключатель.

 Для ios6 действия немного отличаются. Что бы удалить пункт геолокация, нужно зайти по пути /var/stash/Applications/Preferences.app и править файл Settings.plist.

Ищем строку LOCATION_SERVICES и после <string>LOCATION_SERVICES</string> вставляем:
<key>requiredCapabilities</key>
<array>
<string>ipad</string>
</array>


Чтобы скрыть пункт iCloud нужно найти строку CASTLE 
и после 
<string>CASTLE</string>
<key>overridePrincipalClass</key>
<true/>
вставить 
<key>requiredCapabilities</key>
<array>
<dict>
<key>ipad</key>
<true/>
</dict>
</array>

Для того чтобы удалить пункты из раздела Основные, нужно править файл General.plist. 
А для удаления пункта "Передача данных" из меню Настройки>Сеть нужно редактировать файл Network.plist. В нем ищем ENABLE_MOBILE_DATA_GROUP и MOBILE_DATA_SETTINGS.
Далее видим
<string>cellular-data</string>
<dict>
<key>ipad</key>
<false/>

И меняем <false/> на <true/>
Пропадет переключатель и комментарий.


Теперь ваш iphone не боится кражи!  А так же если вдруг вы его потеряли, то всегда сможете узнать где он находится.

Вечный респринг


После обновлений из куды на этапе респринга, айфон подвис с бесконечно крутящимся кружком и ни на какие нажатия кнопок не реагировал. Просто черный экран и кружок и все.
 
При подключении к айтюнсу он определяется, и даже дает сделать бэкап, поэтому на крайняк можно перевести его в DFU режим восстановления.
Но мне помог простой хард ресет. Одновременно зажать home и power на 10 сек, после чего айфон перезагрузился без перезаписи прошивки.