1. 程式人生 > >iOS跳轉到系統的設定介面(支援iOS10)

iOS跳轉到系統的設定介面(支援iOS10)

更新-適配iOS10

//藍芽設定介面
NSURL *url = [NSURL URLWithString:@"prefs:root=Bluetooth"];
if ([[UIApplication sharedApplication] canOpenURL:url])
{
   [[UIApplication sharedApplication] openURL:url];
}

本來在iOS7-9上都正常工作的如上方式的跳轉設定頁面,在iOS10上點選會報下面的錯誤
canOpenURl:failed For URL。。。。。

解決:使用

- (void)openURL:(NSURL*)url options:(NSDictionary
<NSString *, id> *)options completionHandler:(void (^ __nullable)(BOOL success))completion

info裡面設定:
在專案中的info.plist中新增 URL types 並設定一項URL Schemes為prefs,如下圖

程式碼:

NSURL *url = [NSURL URLWithString:@"prefs:root=WIFI"];
if ([[UIApplication sharedApplication] canOpenURL:url])
{
    [[UIApplication
sharedApplication] openURL:url]; }

定位服務
定位服務有很多APP都有,如果使用者關閉了定位,那麼,我們在APP裡面可以提示使用者開啟定位服務。點選到設定介面設定,直接跳到定位服務設定介面。程式碼如下:

//定位服務設定介面
NSURL *url = [NSURL URLWithString:@"prefs:root=LOCATION_SERVICES"];
if ([[UIApplication sharedApplication] canOpenURL:url])
{
    [[UIApplication sharedApplication] openURL:url];
}

FaceTime

//FaceTime設定介面
NSURL *url = [NSURL URLWithString:@”prefs:root=FACETIME”];
if ([[UIApplication sharedApplication] canOpenURL:url])
{
[[UIApplication sharedApplication] openURL:url];
}

音樂
複製程式碼
程式碼如下:

//音樂設定介面
NSURL *url = [NSURL URLWithString:@”prefs:root=MUSIC”];
if ([[UIApplication sharedApplication] canOpenURL:url])
{
[[UIApplication sharedApplication] openURL:url];
}

牆紙設定介面
複製程式碼
程式碼如下:

//牆紙設定介面
NSURL *url = [NSURL URLWithString:@”prefs:root=Wallpaper”];
if ([[UIApplication sharedApplication] canOpenURL:url])
{
[[UIApplication sharedApplication] openURL:url];
}

藍芽設定介面
//藍芽設定介面
NSURL *url = [NSURL URLWithString:@”prefs:root=Bluetooth”];
if ([[UIApplication sharedApplication] canOpenURL:url])
{
[[UIApplication sharedApplication] openURL:url];
}

iCloud設定介面

//iCloud設定介面
NSURL *url = [NSURL URLWithString:@”prefs:root=CASTLE”];
if ([[UIApplication sharedApplication] canOpenURL:url]
{
[[UIApplication sharedApplication] openURL:url];
}

相關推薦

iOS系統設定介面支援iOS10

更新-適配iOS10 //藍芽設定介面 NSURL *url = [NSURL URLWithString:@"prefs:root=Bluetooth"]; if ([[UIApplication sharedApplication] canOpenUR

android 呼叫撥號盤撥打電話及其系統設定介面

android 呼叫撥號盤撥打電話 public void dialPhoneNumber(String phoneNumber) { Intent intent = new Intent

iOS到AppStore,AppStore檢查版本更新上線會被拒,設定介面

1、現在的應用升級問題,蘋果已經幫我們解決了,就是在我們應用中不需要提示升級問題,手機系統會自動給升級到最新版本(首先允許升級),但是還是有一些應用新增提示升級需求,這樣的話,使用者就能夠自己去升級, 2、跳轉到AppStore應用的介面 要升級的話,肯定是

Android系統設定Settings的各個介面

系統定義的常量 有時候需要跳轉到一些系統設定介面,為了方便尋找總結一下 定義Intent 相關介面 ACTION_SETTINGS 系統設定介面 ACTION

Android 許可權設定介面的終極適配適配各大定製 ROM

▲ 前言: 當我們的使用者使用App時不小心拒絕了某項必要許可權,而導致無法正常使用。這時候希望重新去開啟該許可權,那麼問題來了,Android廠家定製的room五花八門,很多時候卻發現找不到許可權管理的入口。為了解決這一問題,如果我們應用中直接提供許可權管理入口給

Swift iOS應用內設定介面

Swift版 //開啟設定介面 if let url = URL(string: UIApplicationOpenSettingsURLString){ if (UIApplication.s

iOS app系統設定頁面進行設定

我的app是需要使用藍芽的,我就想在app裡面檢測系統藍芽是否開啟,若沒有則跳窗提示沒有開啟藍芽,然後點選跳窗的確定按鈕跳轉系統設定藍芽頁面,進行設定,然後返回app,下面的方面親測有效。 定位服務 定位服務有很多APP都有,如果使用者關閉了定位,那麼,我們在APP裡

iOS開發 到指定介面棧中不存在的介面

獲取到導航欄裡的所有控制器: NSMutableArray *viewControllers = [self.navigationController.viewControllers mutableC

iOS10 不能系統設定解決辦法1

iOS 10 更新以後,發現以前跳轉系統應用的方法無效了。 -(void)toWIFI { NSURL *url = [NSURL URLWithString:@"prefs:root=WIFI"]; if ([[UIApplicati

iOS 11上系統設定

    經常收到朋友和一些群友問這個問題,其實網上有很多類似文章,大多數都有些問題,下面簡單記錄一下。    在iOS 10上剛出現不能跳轉的時候,就找過很多資料去實現跳轉,最後好像是在stackove

iOSiOS10 系統設定、WIFI、藍芽…

iOS10跳轉系統設定、WIFI、藍芽… iOS自我們熟悉以來,就一直與Android有著不一樣的體驗, 系統更加流暢,使用更加舒適, 同時較高與Android的價格也導致了它的特殊性, iOS系統的封閉和很多許可權的限制導致了我們在開發的時候經常

應用內系統設定相關介面方法總結

在 iOS 開發中,經常會遇到有跳轉至系統設定相關介面的需求; 例如: 提示使用者開啟藍芽或者 WiFi 等功能提示操作; 提示使用者開啟推送或者位置相關許可權. 在 iOS 6之後,第三方應用需要跳轉系統設定介面則需要在 URL type 中新增一個 prefs 值.

iOS 系統功能

ssi wallpaper apple ace obi hot mobile paper set 1 NSString * urlString = @"App-Prefs:root=WIFI"; 2 3 if ([[UIApplication sharedApp

iOS10 11系統設定等的URL收集

Settings App-Prefs:root Settings -> About App-Prefs:root=General&path=About Settings -> Accessibility App-Prefs:root=General&path=ACCE

iOS10系統設定、WIFI、藍芽...

iOS10跳轉系統設定、WIFI、藍芽… iOS自我們熟悉以來,就一直與Android有著不一樣的體驗, 系統更加流暢,使用更加舒適, 同時較高與Android的價格也導致了它的特殊性, iOS系統的封閉和很多許可權的限制導致了我們在開發的時候經常會遇到

Android 6.0動態許可權及GPS設定介面

public class CheckPermissionsActivity extends Activity implements ActivityCompat.OnRequestPermissionsResultCallback { /** * 需要進行檢測的許可權陣列 */ prote

iOS10系統設定、WIFI、藍芽…

Wi-Fi: App-Prefs:root=WIFI 藍芽: App-Prefs:root=Bluetooth 蜂窩行動網路: App-Prefs:root=MOBILE_DATA_SETTINGS_ID 個人熱點: App-Prefs:root=INTERNET_TETH

Android中檢查網路連線狀態的變化,無網路時設定介面

在AndroidManifest.xml中加一個許可權 <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <intent-filter>

iOS10系統設定的正確姿勢

在iOS10更新後,系統設定跳轉被禁用,只能跳轉App設定? NO, NO, NO, 看這裡,又可以換個姿勢愉快的跳轉啦。 其實方法很簡單,例如原有跳轉Wi-Fi設定是"prefs:root=WIFI",新的寫法是"App-Prefs:root=WIFI"。怎麼樣,

Android 應用通知許可權是否開啟以及設定介面

因為專案用到推送功能,所以需求是知道使用者是否開啟了通知欄的許可權,並且提供滑動按鈕進行跳轉以便使用者進行關閉或者開啟。 1.獲取通知欄許可權是否開啟: /** * 獲取通知欄許可權是否開啟 * */ public class NotificationsUtils { private sta