[英]How to programmatically open the WIFI settings in Objective-C on iOS 10
[英]Open Wifi Settings by “prefs:root=WIFI” failed in iOS 10
我在應用程序中使用了prefs:root = WIFI url方案,並在info.plist中輸入了prefs來直接在Wi-Fi設置中打開iOS設置應用程序,它在iOS 9上運行良好,但在iOS 10上不再運行。
有誰知道這僅僅是第一次開發者預覽中的回歸,還是iOS 10中打開Wi-Fi設置的方式已更改,或者不再允許?
SWIFT 3.0:-在iOS 10中工作
@IBAction func openWifiSetting(_ sender: AnyObject) {
let url = URL(string: "App-Prefs:root=WIFI") //for WIFI setting app
UIApplication.shared.openURL(url!)
}
我的應用程序也在使用該API。 不幸的是,蘋果在iOS 10上禁用了此功能。這是我的解決方案:在iOS 10以下,它仍然可以打開“設置應用程序”。 在iOS 10上,它將轉到“設置應用程序”的子頁面(蜂窩數據訪問),您可以單擊一下返回到設置頁面。 我決定保留它。 因為它比用戶手動打開Setting App仍然方便。
NSURL *url = [NSURL URLWithString:@"prefs:root=WIFI"];
if ([[UIApplication sharedApplication] canOpenURL:url]) {
[[UIApplication sharedApplication] openURL:url];
} else {
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:UIApplicationOpenSettingsURLString]];
}
在iOS 10中針對目標c嘗試一下
NSURL *url = [NSURL URLWithString:@"prefs:root=WIFI"];
if ([[UIApplication sharedApplication] canOpenURL:url]) {
[[UIApplication sharedApplication] openURL:url];
} else {
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"App-Prefs:root=WIFI"]];
}
使用“ App-Prefs:root”代替“ prefs:root”
iOS 10,打開您的應用程序設置:
if let settingsURL = URL(string: UIApplicationOpenSettingsURLString) {
UIApplication.shared.openURL(settingsURL)
}
在iOS 10上運行良好,
轉到目標->(應用程序)->信息-> URL類型-> +
在URL Schemes
寫
首選項
然后打電話
- (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"]];
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.