Info.plistに入力されたprefsでアプリでprefs:root = WIFI urlスキームを使用して、Wi-Fi設定でiOS設定アプリケーションを直接開き、iOS 9では正常に機能していましたが、iOS 10では動作しません。
これが最初の開発者プレビューでの退行だけなのか、Wi-Fi設定を開く方法がiOS 10で変更されたのか、もう許可されていないのか、誰もが知っていますか?
Appleはこれを許可しません。とにかくアプリが成功する可能性がありますが、これは他のドキュメント化されていないAPIを使用するのと同じです。
ここに完全なリストがあります サポートされているApple URLスキーム。
ここにスレッドがあります where Appleは、「Apple正式に文書化されていないURLスキームはプライベートAPIと見なされるべきです。
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を使用しています。残念ながらApple iOS 10ではこれを無効にします。私の解決策は次のとおりです。iOS10より下でも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のObjective 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"]];
}
「prefs:root」の代わりに「App-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"]];
}
}