簡體   English   中英

在iOS 10中通過“ prefs:root = WIFI”打開Wifi設置失敗

[英]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設置的方式已更改,或者不再允許?

如此明確:Apple不允許這樣做。 無論如何,您的應用都有可能成功,但這與使用任何其他未公開說明的API相同。

這是受支持的Apple URL方案的完整列表

這是 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。 不幸的是,蘋果在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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM