零碎知识点app跳转app或者内部功能iOS Developer

iOS开发跳到设置界面或者APP之间跳转

2016-12-29  本文已影响178人  起于微未

1.iOS开发中有的时候需要引导用户打开某个权限


//音乐设置界面

NSURL *url = [NSURL URLWithString:@"prefs:root=MUSIC"];

[[UIApplication sharedApplication] openURL:url];

//墙纸设置界面

NSURL *url = [NSURL URLWithString:@"prefs:root=Wallpaper"];

//蓝牙设置界面

NSURL *url = [NSURL URLWithString:@"prefs:root=Bluetooth"];

//iCloud设置界面

NSURL *url = [NSURL URLWithString:@"prefs:root=CASTLE"];

//更多

About — prefs:root=General&path=About

Accessibility — prefs:root=General&path=ACCESSIBILITY

Airplane Mode On — prefs:root=AIRPLANE_MODE

Auto-Lock — prefs:root=General&path=AUTOLOCK

Brightness — prefs:root=Brightness

Bluetooth — prefs:root=General&path=Bluetooth

Date & Time — prefs:root=General&path=DATE_AND_TIME

FaceTime — prefs:root=FACETIME

General — prefs:root=General

Keyboard — prefs:root=General&path=Keyboard

iCloud — prefs:root=CASTLE

iCloud Storage & Backup — prefs:root=CASTLE&path=STORAGE_AND_BACKUP

International — prefs:root=General&path=INTERNATIONAL

Location Services — prefs:root=LOCATION_SERVICES

Music — prefs:root=MUSIC

Music Equalizer — prefs:root=MUSIC&path=EQ

Music Volume Limit — prefs:root=MUSIC&path=VolumeLimit

Network — prefs:root=General&path=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=General&path=ManagedConfigurationList

Reset — prefs:root=General&path=Reset

Safari — prefs:root=Safari

Siri — prefs:root=General&path=Assistant

Sounds — prefs:root=Sounds

Software Update — prefs:root=General&path=SOFTWARE_UPDATE_LINK

Store — prefs:root=STORE

Twitter — prefs:root=TWITTER

Usage — prefs:root=General&path=USAGE

VPN — prefs:root=General&path=Network/VPN

Wallpaper — prefs:root=Wallpaper

Wi-Fi — prefs:root=WIFI

2. 应用间相互跳转简介

在iOS开发的过程中,我们经常会遇到需要从一个应用程序A跳转到另一个应用程序B的场景。这就需要我们掌握iOS应用程序之间的相互跳转知识。iOS9之后,应用间跳转需要在Info.plsit中设置白名单。以‘LSApplicationQueriesSchemes’为Key值,对应数组value中添加白名单应用的URL Schemes即可。若未设置白名单,会报错,值得我们注意。

原理:通过设置跳转到应用B的URL Schemes(自定义的协议头),应用B将其自身“绑定”到一个自定义URL Schemes上,就可以从应用A中利用应用B的URL Schemes启动应用B了。

设置App-B的URL Schemes

选择项目App-B -> TARGETS -> Info -> URL Types -> URL Schemes,设置App-B的URL Schemes为AppB。

// 1.获取应用程序App-B的URL Scheme

NSURL *appBUrl = [NSURL URLWithString:@"AppB://"];

// 2.判断手机中是否安装了对应程序

if ([[UIApplication sharedApplication] canOpenURL:appBUrl]) {

// 3. 打开应用程序App-B

[[UIApplication sharedApplication] openURL:appBUrl];

} else {

NSLog(@"没有安装");

}

更多或者代码下载,请点击我的博客 

上一篇下一篇

猜你喜欢

热点阅读