2012-06-25 2 views
1

я попробовал эти -команд настройки Open iPhone через код не работает в прошивкой 5.1.1

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs:root=LOCATION_SERVICES"]];  
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs:root=General"]]; 
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs:root=Wallpaper"]];  
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs:root=Safari"]]; 

Эти коды открывает Место, Общие, обои и Safari соответственно прошивкой 5.0, но ничего не работает прошивкой 5.1.1 У кого-нибудь есть идея?

ответ

5

В iOS 5.1 схема URL-адреса prefs: была удалена. Вы больше не можете его использовать.

При использовании частных API, является вариантом, вы можете попробовать это:

SBSLaunchApplicationWithIdentifier(CFSTR("com.apple.Preferences"), false); 

Вы должны связать против рамок SpringBoardServices тогда.

+0

'com.apple.Preferences' (capital P) работал для меня в iOS 5.1/6.1. – newenglander

+0

@newenglander Спасибо, приятно знать, отредактирован. Теперь, когда вы говорите «предпочтения» (с нижним регистром «p»), это идентификатор пакета частной инфраструктуры Preferences. –

0

Просто быстрое дополнение к ответу @ H2CO3 (что не подходит для комментариев). Я использовал это решение в мое приложение Cydia, чтобы открыть настройки, в сочетании с файлом, содержащим предоставления прав следующую запись:

<key>com.apple.springboard.launchapplications</key> 
<string>true</string> 

Это я считаю, что путь Xcode отформатированный файл прав. И это отлично работало на моих двух тестовых устройствах. Однако несколько бета-тестеров отметили, что приложение настроек не было открыто. Я заметил, что несколько примеров выплачиваемой файлов используется другой формат, чтобы указать значение ключа:

<true/> 

Я попытался это на устройство, которое не работает с первой записи предоставления прав, и приложение настройки на самом деле открыт.

Так что я публикую это на случай, если у кого-либо есть аналогичная проблема. (Запуск приложения как пользователя root также может быть решением, но я этого не делал.)

 Смежные вопросы

  • Нет связанных вопросов^_^