1. 程式人生 > >iOS 10 應用內跳轉到系統設定

iOS 10 應用內跳轉到系統設定

http://www.jianshu.com/p/5b7571d7bb34

設定跳轉有三種方式,每一種的使用場景都不同。 並且你在寫Demo測試跳轉到系統中自己應用下面設定的時候,你的應用要提前至少申請了某一個許可權,如(通知,定位等)。否則,會引起崩潰。

方式一:prefs:root=某項服務

方式二:prefs:root=bundleID

方式三:UIApplicationOpenSettingsURLString

本篇針對iOS7、iOS8、iOS9、iOS10,來介紹其中區別。

一、跳轉方法

iOS系統版本 < 10.0

if( [[UIApplicationsharedApplication]
canOpenURL:url] ) { [[UIApplicationsharedApplication]openURL:url]; }

iOS系統版本 >= 10.0

if( [[UIApplication sharedApplication]canOpenURL:url] ) {
    [[UIApplication sharedApplication]openURL:url options:@{}completionHandler:^(BOOL        success) {
    }];
}

可以看出,跳轉方法非常簡單。本文重點講解url 怎麼設定

二、跳轉到哪裡去?(系統的設定,系統中自己應用下面的設定)

version <= iOS7 , 只能跳轉到 系統設定頁面
NSURL *url= [NSURL URLWithString:@"prefs:root=LOCATION_SERVICES"];
跳轉到: 隱私-定位服務。

方式一:prefs:root=某項服務

蜂窩網路:prefs:root=MOBILE_DATA_SETTINGS_ID
Wi-Fi: prefs:root=WIFI
音樂:prefs:root=MUSIC
這種跳轉方式,都是跳轉到系統的設定介面。
version >= iOS8,支援跳轉到自己應用設定

方式二 : prefs:root=bundleID ,bundleID是你工程的唯一ID

侷限性:只支援iOS8,iOS9系統,在iOS10系統上,不會跳轉。 在iOS7系統上,僅僅只是跳轉到設定應用,不推薦使用。

方式三:

NSURL *url = [NSURL URLWithString:UIApplicationOpenSettingsURLString];
UIApplicationOpenSettingsURLString欄位,是在iOS8上才提供的,支援iOS8,iOS9,iOS10系統,推薦使用。
version >= iOS10,支援跳轉到自己應用設定,不支援跳轉到系統設定
只認NSURL *url = [NSURL URLWithString:UIApplicationOpenSettingsURLString];跳轉。
prefs:root=bundleIDprefs:root=服務 都將不起作用。

總結一下:

方式一:prefs:root=某項服務 適用於 小於 iOS10的系統;
方式二:prefs:root=bundleID 適用於 大於等於iOS8系統,小於iOS10的系統
方式三:UIApplicationOpenSettingsURLString 適用於 大於等於iOS8的系統


文/CoderJY_Zhu(簡書作者)
原文連結:http://www.jianshu.com/p/5b7571d7bb34
著作權歸作者所有,轉載請聯絡作者獲得授權,並標註“簡書作者”。

相關推薦

iOS 10 應用系統設定

http://www.jianshu.com/p/5b7571d7bb34 設定跳轉有三種方式,每一種的使用場景都不同。 並且你在寫Demo測試跳轉到系統中自己應用下面設定的時候,你的應用要提前至少申請了某一個許可權,如(通知,定位等)。否則,會引起崩潰。 方式一:pr

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

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

Swift iOS應用設定介面

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

IOS應用系統設定

iOS應用內跳轉到系統設定 設定跳轉有三種方式,每一種的使用場景都不同。 並且你跳轉到系統中自己應用下面設定的時候,你的應用要提前至少申請了某一個許可權,如(通訊錄,通知,定位等)。否則,會引起崩潰。

iOS應用系統設定頁面

在iOS開發中,有時會有跳轉系統設定介面的需求,例如提示使用者開啟藍芽或者WIFI,提醒使用者開啟推送或者位置許可權等。 設定跳轉有三種方式,每一種的使用場景都不同。 並且你在跳轉到系統中自己應用下面設定的時候,你的應用要提前至少申請了某一個許可權,如通知,定

iOS 應用系統設定

在iOS5以下版本使用以下方法:【IOS5.1+之後不能使用此方法,iOS8的跳轉方法已找到見下方,iOS7的正在摸索,歡迎大家給出觀點意見】 通過URL Scheme的方式開啟內建的Settings,程式碼如下 [[UIApplication sharedApplic

iOS 應用系統設置

photo pod style software lin vol ios5 per man 在iOS5下面版本號使用下面方法:【IOS5.1+之後不能使用此方法,iOS8的跳轉方法已找到見下方,iOS7的正在摸索。歡迎大家給出觀點意見】 通過URL Scheme的方

App呼叫系統應用設定頁面

[UIApplication sharedApplication] openURL:url];通過給url不同的值,可以實現呼叫系統自帶電話/簡訊/郵箱/瀏覽器/… 1、呼叫 電話phone [[UIApplication sharedApplication

iOS應用百度高德蘋果地圖

bool 知識點 coo count value oid bsp lse rec 移動開發經常用到基於位置的一些導航功能,但是對於對導航功能依賴性不強的的應用,我們直接采用應用外跳轉地圖APP即可。 但是應用間跳轉,首先需要設置白名單, 在iOS 9 下涉及到平臺客戶端跳

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

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

ios應用到appstore裡評分

在ios6.0前跳轉到appstore評分一般是直接跳轉到appstore評分 NSString *evaluateString = [NSString stringWithFormat:@"itms-apps://ax.itunes.apple.com/WebObjects/MZStore.woa/wa/

iOS開發中應用到QQ聊天介面和指定的聯絡人聊天

這裡主要是記錄專案中的一個需求,閒著沒事就把它記錄下來,以供有需要的朋友們; 我們一般用webview載入,所以主要的是設定在它的跳轉路徑上; 這裡有兩個路徑,介紹分別如下; 1. mqq://im/chat?chat_type=wpa&uin=好友QQ號&

iOS 11上系統設定

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

iOS,iOS10 系統設定、WIFI、藍芽…

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

Android系統設定Settings的各個介面

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

iOS10 11系統設定等的URL收集

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

Android 應用QQ客服的工具類

工具類如下: public class QQUtil { public static void toQQServer(Context context){ try { ApplicationInfo info = context.getPackage

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

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

android H5 應用Scheme協議

直接進入主題 想必大家在開發專案的過程中,都會遇到android與H5介面的互動。並且還有H5介面 跳轉到APP內部的功能需要,同志們可能就會想,我們要用什麼方法來做。那麼接下來我們直接開擼,今天要講解的應用內跳轉Scheme協議 什麼是URL Sc

iOS10系統設定、WIFI、藍芽…

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