前言
一般應(yīng)用內(nèi),如果用戶第一次對(duì)系統(tǒng)的某種隱私(相冊(cè)让禀、藍(lán)牙、定位庙洼、麥克風(fēng)等)點(diǎn)擊了不允許顿痪,那么在用戶下次使用到時(shí),應(yīng)該提醒用戶去開啟以使用之前被屏蔽的訪問的隱私功能油够。那么應(yīng)該怎么設(shè)置才能較好的兼容目前市場(chǎng)大部分中系統(tǒng)版本呢蚁袭?首先我們應(yīng)該在使用到相關(guān)隱私是彈出AlertView提示用戶去開啟相關(guān)權(quán)限,這個(gè)在AlterView中設(shè)置按鈕直接讓用戶點(diǎn)擊然后跳轉(zhuǎn)相關(guān)設(shè)置的地方進(jìn)行打開石咬。
跳轉(zhuǎn)至系統(tǒng)設(shè)置頁面的正確姿勢(shì)(適配 iOS 8.1 ~ iOS11.2.6)
// 跳轉(zhuǎn)到設(shè)置 - 相機(jī) / 該應(yīng)用的設(shè)置界面
NSURL *url1 = [NSURL URLWithString:@"App-Prefs:root=Privacy&path=CAMERA"];
// iOS10也可以使用url2訪問揩悄,不過使用url1更好一些,可具體根據(jù)業(yè)務(wù)需求自行選擇
NSURL *url2 = [NSURL URLWithString:UIApplicationOpenSettingsURLString];
if (@available(iOS 11.0, *)) {
[[UIApplication sharedApplication] openURL:url2 options:@{} completionHandler:nil];
} else {
if ([[UIApplication sharedApplication] canOpenURL:url1]){
if (@available(iOS 10.0, *)) {
[[UIApplication sharedApplication] openURL:url1 options:@{} completionHandler:nil];
} else {
[[UIApplication sharedApplication] openURL:url1];
}
}
}
如果想跳轉(zhuǎn)更多相關(guān)的設(shè)置鬼悠,只需要App-Prefs:root=Privacy&path=CAMERA替換成你想要的權(quán)限 即可
NSURL *url1 = [NSURL URLWithString:@"App-Prefs:root=Privacy&path=CAMERA"];
名稱 對(duì)應(yīng)字符串
無線局域網(wǎng) App-Prefs:root=WIFI
藍(lán)牙 App-Prefs:root=Bluetooth
蜂窩移動(dòng)網(wǎng)絡(luò) App-Prefs:root=MOBILE_DATA_SETTINGS_ID
個(gè)人熱點(diǎn) App-Prefs:root=INTERNET_TETHERING
運(yùn)營(yíng)商 App-Prefs:root=Carrier
通知 App-Prefs:root=NOTIFICATIONS_ID
通用 App-Prefs:root=General
通用-關(guān)于本機(jī) App-Prefs:root=General&path=About
通用-鍵盤 App-Prefs:root=General&path=Keyboard
通用-輔助功能 App-Prefs:root=General&path=ACCESSIBILITY
通用-語言與地區(qū) App-Prefs:root=General&path=INTERNATIONAL
通用-還原 App-Prefs:root=Reset
墻紙 App-Prefs:root=Wallpaper
Siri App-Prefs:root=SIRI
隱私 App-Prefs:root=Privacy
Safari App-Prefs:root=SAFARI
音樂 App-Prefs:root=MUSIC
音樂-均衡器 App-Prefs:root=MUSIC&path=com.apple.Music:EQ
照片與相機(jī) App-Prefs:root=Photos
FaceTime App-Prefs:root=FACETIME
就可以啦删性。