У меня есть приложение, написанное на Swift (iOS 8), которое при первом открытии предлагает перейти к настройкам на главной панели настроек iOS. Он использует этот код:
UIApplication.sharedApplication().openURL(NSURL(string:UIApplicationOpenSettingsURLString)!)
Это работает нормально, за исключением того, что панель настроек пуста, когда вы прибываете. Если вы нажмете кнопку «Назад в настройках», а затем вернетесь в настройки приложения, отобразятся все параметры.
Я предполагаю, что это связано с той же проблемой, когда nsuserdefaults не существует до тех пор, пока пользователь не зайдет на панель настроек.
В любом случае, кто-нибудь знает, как обойти это?
Примечания:
1) Это происходит только при первом запуске приложения ПОСЛЕ его первоначальной установки. После того, как панель настроек была посещена хотя бы один раз, она работает нормально.
2) Мое приложение уже проверяет наличие начального значения по умолчанию; если отсутствует, он инициализирует ВСЕ настройки, как для текущего сеанса, И записывает их в пакет настроек — я проверил, что эта часть работает, перевернув одно из значений по умолчанию с истинного на ложное и заметив, что оно ложно при первом просмотре настройки.