2016-10-19 21 views

Trả lời

3

này hoạt động tốt trên iOS 10,

Chuyển đến mục tiêu -> (Application) - > Thông tin -> Loại URL -> +

Trong URL Schemes viết

prefs

Xem hình ảnh, enter image description here

Sau đó, thêm đoạn mã sau,

-(void)openWifiSettings{ 
    if ([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"prefs:root=WIFI"]]) { 
     [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs:root=WIFI"]]; 
    } else { 
     [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"App-Prefs:root=WIFI"]]; 
    } 
} 
+1

Trong iOS 11 'App-Prefs' đưa tôi đến các tùy chọn ứng dụng cụ thể, không phải màn hình wifi. – keegan3d

11

Mã chính xác cùng nên làm việc, nhưng đối với iOS 10 bạn cần phải làm một số công việc bổ sung bằng cách thêm "prefs" để các loại URL:

Sau khi chọn mục tiêu của bạn:

  • Navigate to "Thông tin" tab.
  • Sau khi cuộn xuống dưới, bạn sẽ thấy phần "Loại URL".
  • Thêm hình mới (bằng cách nhấp vào nút dấu cộng) và điền vào "Lược đồ URL" bằng "prefs".

Nó phải là tương tự như sau:

enter image description here

Bây giờ, mã của bạn nên hoạt động tốt.

UPDATE:

Nếu nó -somehow- đã không công việc như mong muốn, bạn có thể muốn làm theo workaround này.

Hy vọng điều đó sẽ hữu ích.

+4

Nó không làm việc trong iOS 10 –

+1

openURL được khấu hao – gregm

+0

@ShuvoJoseph bạn có thể thử lại không? nó sẽ hoạt động ngay bây giờ ... –

-1

Hãy thử điều này một:

if([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:UIApplicationOpenSettingsURLString]]) { 
     [[UIApplication sharedApplication] openURL:[NSURL URLWithString:UIApplicationOpenSettingsURLString]options:[NSDictionary dictionary] completionHandler:^(BOOL success) { 
     }]; 
    } 

Cảm ơn :)

10

Trong iOS 10, một url mới là bắt buộc. Hãy thử sử dụng mã này mà kiểm tra cả các url:

NSArray* urlStrings = @[@"prefs:root=WIFI", @"App-Prefs:root=WIFI"]; 
for(NSString* urlString in urlStrings){ 
    NSURL* url = [NSURL URLWithString:urlString]; 
    if([[UIApplication sharedApplication] canOpenURL:url]){ 
     [[UIApplication sharedApplication] openURL:url]; 
     break; 
    } 
} 
+1

Hoạt động rất tốt, cảm ơn! Có cơ hội nào - một tài liệu về các khóa gốc có thể? Hay chúng ta có thể cộng tác với nhau? – DrMickeyLauer

+1

Đáng tiếc là không có tài liệu chính thức, nhưng một số trang đã tham chiếu rất nhiều tài liệu, ví dụ như https://gist.github.com/phynet/471089a51b8f940f0fb4 – Drico

+0

Không giống như những trang này, tôi cũng làm việc cho iOS 10 –

1

Đối Swift:

let url = URL(string: "App-Prefs:root=WIFI") 

    if UIApplication.shared.canOpenURL(url!){ 
     UIApplication.shared.openURL(url!) 

    } 
-1
let url=URL(string: "App-Prefs:root=WIFI") 
// you can change root as your requirements 
     if UIApplication.shared.canOpenURL(url!) 
     { 
      UIApplication.shared.open(url!, options: [:], completionHandler: {success in 

      }) 

     } 
     else{ 
      UIApplication.shared.open(url!, options: [:], completionHandler: {success in 

      }) 
     } 
Các vấn đề liên quan