新聞中心
iOS app內(nèi)跳轉(zhuǎn)其他app
關(guān)于app內(nèi)跳轉(zhuǎn)其他app總結(jié)以下幾點(diǎn):
成都創(chuàng)新互聯(lián)為您提適合企業(yè)的網(wǎng)站設(shè)計?讓您的網(wǎng)站在搜索引擎具有高度排名,讓您的網(wǎng)站具備超強(qiáng)的網(wǎng)絡(luò)競爭力!結(jié)合企業(yè)自身,進(jìn)行網(wǎng)站設(shè)計及把握,最后結(jié)合企業(yè)文化和具體宗旨等,才能創(chuàng)作出一份性化解決方案。從網(wǎng)站策劃到成都網(wǎng)站設(shè)計、成都網(wǎng)站建設(shè), 我們的網(wǎng)頁設(shè)計師為您提供的解決方案。
tips:不同app可以有相同的scheme,app跳轉(zhuǎn)回跳轉(zhuǎn)最近打開過的app
1、白名單如果不設(shè)置對應(yīng)的scheme,
? [webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"scheme://"]]];無論設(shè)備是否安裝對應(yīng)scheme的app,都不會跳轉(zhuǎn)其他app
2、白名單如果不設(shè)置對應(yīng)的scheme,
? [[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"scheme://"]]將直接返回NO(無論是否安裝對應(yīng)scheme的app)
3、白名單設(shè)置了對應(yīng)的scheme,
? [webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"scheme://"]]];如果安裝了對應(yīng)scheme的app,將會跳轉(zhuǎn)最近打開的scheme的app
4、白名單設(shè)置了對應(yīng)的scheme,
? [[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"scheme://"]]將直接返回YES
5、白名單無論是否設(shè)置對應(yīng)的scheme,如果不判斷canOpenURL: 而是直接openURL:
? ? [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"scheme://"]];
如果設(shè)備安裝了對應(yīng)scheme的app,則會直接跳轉(zhuǎn),沒有的話沒反應(yīng)(openURL: 函數(shù)返回值為NO)
iOS干貨-通過Safari跳轉(zhuǎn)自己的APP
這東西很簡單,知道的也就那么回事。
1、首先在info.plist中添加URL types,設(shè)置URL Schemes,如下圖。
2、打開手機(jī)瀏覽器Safari,網(wǎng)址輸入:“ scheme://xxx ”,scheme是剛才在APP info.plist設(shè)置的scheme字符,xxx隨意,按照自己需求,如下圖。
3、在APPdelegate添加代理方法- (BOOL)application:(UIApplication *)app handleOpenURL:(nonnull NSURL *)url,打印URL值,如下圖。
4、三部曲就這樣,美滋滋,一看就會。
iOS 喚起APP
在iOS 9之前,我們從外部啟動App都是通過URL scheme的方式進(jìn)行跳轉(zhuǎn),開發(fā)者通過配置info.plist文件中的 URL Types 可以輕松實(shí)現(xiàn)跳轉(zhuǎn),而且現(xiàn)在蘋果還對這種跳轉(zhuǎn)的方式加了一個提示框:“是否打開XXX”,跳轉(zhuǎn)過程也顯得不流暢。
每一個項目里面都會有一個info.plist配置文件。找到info.plist,右鍵選擇Add Row,然后選擇URL types。添加URL Schemes
既然已經(jīng)配置好URL Schemes,那么我們可以來款速測試一下,我們設(shè)置的URL Schemes是否有效。打開Safari,在地址欄里輸入:iOSDevTip:// 即可喚起app
打開注冊iOSDevTip的APP格式為: URL Scheme://URL identifier,直接調(diào)用URL Scheme也可打開程序, URL identifier是可選的。
而UniversalLink跳轉(zhuǎn)方式可以實(shí)現(xiàn)無縫跳轉(zhuǎn),當(dāng)瀏覽器識別到預(yù)先指定好的URL,就可以直接喚醒App,不需要在瀏覽器中打開再去點(diǎn)擊其他按鈕。只支持iOS 9以上
1.1 蘋果開發(fā)者賬號開啟Associated Domains服務(wù)
1.2 在xcode工程的Capabilities - Associated Domains中添加跳轉(zhuǎn)域名
當(dāng)我們的App在設(shè)備上第一次運(yùn)行時,如果支持Associated Domains功能,那么iOS會自動去GET定義的Domain下的apple-app-site-association文件。
需要留意iOS會先請求
如果此文件請求不到,再去請求 。 所以如果想要避免服務(wù)器接收過多GET請求,可以直接把a(bǔ)pple-app-site-association放在./well-known/目錄下。
iOS跳轉(zhuǎn)自已a(bǔ)pp設(shè)置里及權(quán)限設(shè)置
很簡單,所以直接上圖片了
注意:需要請求一下位置權(quán)限或者通知權(quán)限,才可以跳進(jìn)自己的app設(shè)置里面,如果沒有任何權(quán)限請求,就只能跳到系統(tǒng)的設(shè)置界面
跳轉(zhuǎn)到其他的界面的字段
About — prefs:root=Generalpath=About
Accessibility — prefs:root=Generalpath=ACCESSIBILITY
AirplaneModeOn— prefs:root=AIRPLANE_MODE
Auto-Lock — prefs:root=Generalpath=AUTOLOCK
Brightness — prefs:root=Brightness
Bluetooth — prefs:root=Generalpath=Bluetooth
Date Time — prefs:root=Generalpath=DATE_AND_TIME
FaceTime — prefs:root=FACETIME
General— prefs:root=General
Keyboard — prefs:root=Generalpath=Keyboard
iCloud — prefs:root=CASTLE? iCloud
Storage Backup — prefs:root=CASTLEpath=STORAGE_AND_BACKUP
International — prefs:root=Generalpath=INTERNATIONAL
Location Services — prefs:root=LOCATION_SERVICES
Music — prefs:root=MUSIC
Music Equalizer — prefs:root=MUSICpath=EQ
Music VolumeLimit— prefs:root=MUSICpath=VolumeLimit
Network — prefs:root=Generalpath=Network
Nike + iPod — prefs:root=NIKE_PLUS_IPOD
Notes — prefs:root=NOTES
Notification — prefs:root=NOTIFICATIONS_ID
Phone — prefs:root=Phone
Photos — prefs:root=Photos
Profile — prefs:root=Generalpath=ManagedConfigurationList
Reset — prefs:root=Generalpath=Reset
Safari — prefs:root=Safari? Siri — prefs:root=Generalpath=Assistant
Sounds — prefs:root=Sounds
SoftwareUpdate— prefs:root=Generalpath=SOFTWARE_UPDATE_LINK
Store — prefs:root=STORE
Twitter —?prefs:root=TWITTER
Usage — prefs:root=Generalpath=USAGE
VPN — prefs:root=Generalpath=Network/VPN
Wallpaper — prefs:root=Wallpaper
Wi-Fi — prefs:root=WIFI
Setting—prefs:root=INTERNET_TETHERING
iOS中使用Scheme實(shí)現(xiàn)不同App之間的跳轉(zhuǎn)
我們都知道,蘋果系統(tǒng)使用沙盒機(jī)制來保障用戶的隱私和安全,一個App只能訪問自己的沙盒,不能訪問其他app的信息。這樣保證了app的用戶的信息的同時,也阻礙了不同的App 之間的信息交流。所以蘋果提供了一個可以在App之間跳轉(zhuǎn)的方法:URL Scheme。一個App可以設(shè)置自己的URL Scheme,另外的App可以使用這個URL Scheme,然后通過系統(tǒng)的OpenURL來打開該App。就像網(wǎng)頁一樣,通過一個網(wǎng)址來跳轉(zhuǎn)到另一個網(wǎng)址。
舉例如下:
shemeUseApp://ipOrYuming:8080/path?param1=xxxparam2=yyy
使用上述所說的 schemeUseApp:// 在瀏覽器中進(jìn)行測試。本文使用的是模擬器,在瀏覽器中輸入 schemeUseApp:// ,點(diǎn)擊搜索。
在跳轉(zhuǎn)的 URL scheme 中可以添加參數(shù),比如: shemeUseApp://ipOrYuming:8080/path?param1=xxxparam2=yyy 。
在工程的 AppDelegate.m 文件中,重寫方法 - (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionaryUIApplicationOpenURLOptionsKey,id *)options ,并在方法中進(jìn)行URL的分析拆解,就可以得到相關(guān)的參數(shù)。
網(wǎng)站欄目:ios開發(fā)跳轉(zhuǎn)app,ios app跳轉(zhuǎn)
文章來源:http://www.dlmjj.cn/article/dsddjsp.html