2012-02-01 10 views

Trả lời

86

Ví dụ:

NSURL*url=[NSURL URLWithString:@"prefs:root=WIFI"]; 
[[UIApplication sharedApplication] openURL:url]; 

[font=] 
About — prefs:root=General&path=About 
Accessibility — prefs:root=General&path=ACCESSIBILITY 
Airplane Mode On — prefs:root=AIRPLANE_MODE 
Auto-Lock — prefs:root=General&path=AUTOLOCK 
Brightness — prefs:root=Brightness 
Bluetooth — prefs:root=General&path=Bluetooth 
Date & Time — prefs:root=General&path=DATE_AND_TIME 
FaceTime — prefs:root=FACETIME 
General — prefs:root=General 
Keyboard — prefs:root=General&path=Keyboard 
iCloud — prefs:root=CASTLE 
iCloud Storage & Backup — prefs:root=CASTLE&path=STORAGE_AND_BACKUP 
International — prefs:root=General&path=INTERNATIONAL 
Location Services — prefs:root=LOCATION_SERVICES 
Music — prefs:root=MUSIC 
Music Equalizer — prefs:root=MUSIC&path=EQ 
Music Volume Limit — prefs:root=MUSIC&path=VolumeLimit 
Network — prefs:root=General&path=Network 
Nike + iPod — prefs:root=NIKE_PLUS_IPOD 
Notes — prefs:root=NOTES 
Notification — prefs:root=NOTIFICATIONS_ID 
Phone — prefs:root=Phone 
Photos — prefs:root=Photos 
Profile — prefs:root=General&path=ManagedConfigurationList 
Reset — prefs:root=General&path=Reset 
Safari — prefs:root=Safari 
Siri — prefs:root=General&path=Assistant 
Sounds — prefs:root=Sounds 
Software Update — prefs:root=General&path=SOFTWARE_UPDATE_LINK 
Store — prefs:root=STORE 
Twitter — prefs:root=TWITTER 
Usage — prefs:root=General&path=USAGE 
VPN — prefs:root=General&path=Network/VPN 
Wallpaper — prefs:root=Wallpaper 
Wi-Fi — prefs:root=WIFI` 
prefs:root=INTERNET_TETHERING 
+0

Tôi đã thử nghiệm điều này và nhận ra rằng nó chỉ hoạt động trên ios 5. Tôi đã thử nghiệm nó trên iPhone 3G, không phải S. Tôi biết lol cũ của nó. Có cách nào cho iOS 4 không? Hay nó chỉ giới hạn ở các thiết bị hỗ trợ đa nhiệm với iOS 5? –

+1

Có, nó chỉ hoạt động trên ios 5. –

+0

Có phải API công cộng không? – Undo

6

Trong ios5 trở lên ...

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs:root=General"]]; 
+0

Apple sẽ phê duyệt cách mở cài đặt này ứng dụng? – Lukas

+1

Không hoạt động nữa: ( – Yoga

+0

Hoạt động ok - nhưng bạn cần đặt loại url của mình để mở prefs: http://i.stack.imgur.com/Nq6qQ.png –

26

các ứng dụng lập trình có thể chỉ từ iOS 8. Vì vậy, sử dụng đoạn mã sau ...

if([CLLocationManager locationServicesEnabled]&& 
    [CLLocationManager authorizationStatus] != kCLAuthorizationStatusDenied) 
{ 
    //...Location service is enabled 
} 
else 
{ 
    if([[[UIDevice currentDevice] systemVersion] floatValue]<8.0) 
    { 
    UIAlertView* curr1=[[UIAlertView alloc] initWithTitle:@"This app does not have access to Location service" message:@"You can enable access in Settings->Privacy->Location->Location Services" delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil, nil]; 
    [curr1 show]; 
    } 
    else 
    { 
     UIAlertView* curr2=[[UIAlertView alloc] initWithTitle:@"This app does not have access to Location service" message:@"You can enable access in Settings->Privacy->Location->Location Services" delegate:self cancelButtonTitle:@"OK" otherButtonTitles:@"Settings", nil]; 
     curr2.tag=121; 
     [curr2 show]; 
    } 
} 

- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex 
{ 
NSLog(@"buttonIndex:%d",buttonIndex); 

    if (alertView.tag == 121 && buttonIndex == 1) 
{ 
    //code for opening settings app in iOS 8 
    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:UIApplicationOpenSettingsURLString]]; 
} 
} 
+0

có thể truy cập Ứng dụng Cài đặt cấp cao nhất, không phải tùy chọn Cài đặt của ứng dụng của bạn không? – zonabi

+1

Không có @zonabi, iOS SDK không cung cấp bất kỳ tùy chọn nào cho điều đó. –

1

Tính năng này cũng hoạt động trên iOS8 + nhưng chúng tôi cần thay đổi một cái gì đó

NSURL*url=[NSURL URLWithString:@"prefs:root=WIFI"]; 
if([[UIApplication sharedApplication] canOpenURL:url]){ 
    [[UIApplication sharedApplication] openURL:url]; 
}