iPhone - как поместить пакет настроек, видимый через приложение "Настройки системы", в свое собственное приложение?
Я хочу создать страницу настроек из моего приложения, которая будет выглядеть точно так же, как та, которую я бы создал в приложении системных настроек, используя Settings.bundle и Root.plist.
Есть ли простой способ получить доступ к элементам управления, таким как PSMultiValueSpecifier и т. Д., И добавить их в реальный вид?
Спасибо!
6 ответов
Вот еще одно решение:
- http://www.inappsettingskit.com/
InAppSettingsKit - это решение с открытым исходным кодом, позволяющее легко добавлять настройки приложения в приложения iPhone. Он использует гибридный подход, поддерживая панель Settings.app. Таким образом, у пользователя есть выбор, где изменить настройки...
Для поддержки традиционных панелей Settings.app приложение должно включать в себя файл Settings.bundle, по крайней мере, с Root.plist, чтобы указать соединение элементов пользовательского интерфейса настроек с ключами NSUserDefaults. InAppSettingsKit в основном просто использует тот же Settings.bundle для своей работы. Это означает, что нет никакой дополнительной работы, когда вы хотите включить новый параметр настроек. Его просто нужно добавить в файл Settings.bundle, и он появится как в приложении, так и в файле Settings.app. Поддерживаются все типы настроек, такие как текстовые поля, ползунки, элементы переключения, дочерние представления и т. Д....
Крейг Хокенберри ( Craig Hockenberry) имеет проект GenericTableViews, который поможет вам легко составить табличное представление для параметров или форм.
Тема о том, следует ли настройка идти в вашем приложении или в приложении предпочтений является спорной, в основном потому, что нет никакого способа, чтобы открыть настройки из приложения (как отмечено в ответ coob ссылке на), и потому, что нет никакого способа добавить взаимодействие с настройками - и есть много причин, по которым вы можете захотеть, в том числе валидность / согласованность / проверка сети и т. д.
Поэтому, если вы захотите представить пользовательский интерфейс, похожий на пользовательский интерфейс настроек, в вашем приложении, я не знаю никакого простого или готового кода для этого, но код Мэтта Галлахера - отличное начало для создания собственного.
И еще (отдельный пост из-за "защиты новичка от спама", извините).
- http://bitbucket.org/keegan3d/inappsettings/wiki/Home
Более подробная информация здесь: inscopeapps.com/blog/inappsettings-vs-inappsettingskit
Они используют "стандартный" подход Settings.bundle, но их довольно легко представить в приложении. И вы также получаете поведение системы "Настройки" бесплатно.
В iOS 8 и более поздних версиях, если у вас уже есть пакет настроек, его очень легко запустить из приложения в приложение "Настройки" для управления им (пример Swift 3)
if let settingsURL = URL(string: UIApplicationOpenSettingsURLString) {
UIApplication.shared.open(settingsURL)
}