iOS开辟跳到安装分界面可能应用程式之间跳转,app跳转各个系统分界面或使用

iOS的URLScheme

平素都有接触要设置app的url scheme,从最先的facebook早先。
立时的知道是SSO用的,当授权成功今后,facebook
app只怕safari能够应用给定的url scheme来回调程序。遵照Facebookdev页的指南,在Info.plist中步入url scheme。


APP的跳转: 通过[ [UIApplication sharedApplication]
openURL:url]
这种办法来兑现的。

APP的跳转: 通过[ [UIApplication sharedApplication]
openURL:url]这种艺术来贯彻的。

1.iOS付出中临时要求引导客商张开有些权限

如何在info.plist中加入url scheme

直接将info.plist用源码张开,插手如下代码:

CFBundleURLTypes





           CFBundleURLName

           com.xxxx.xxxx

           CFBundleURLSchemes



               yourURLScheme

本来也得以在xCode中走入U汉兰达L
Type的row,可是碰着过xCode不自动提醒补全,自身写的话,会失效,所以依旧比较相信源码~

而APP之间传递数据接收是在AppDelegate里:

iOS 10之后跳转设置页要用

//音乐设置分界面

一贯在xCode中操作增多U昂科拉L Types

再后来xCode的工程属性Info页签下边有特意的U智跑L Types条目款项增添UENVISIONL
Types,在Identifier中填入BundleID,U奥迪Q7L Schemes中填入对应的Scheme。


Scheme的功效在前头facebook的利用中早已领会了一片段,不过还会有任何强大的效果与利益,例如你想要在iOS设备的safari中输入一个UHighlanderL(后边你会清楚,正是你协调定义的UENCOREL
Schemes)就能够一贯张开你的设施,就和起步众多系统采纳相仿!!没有错,你的DIAO丝程序也能像挂着苹果老爸光环的“高帅富”应用相通运营。
系统URL Schemes

Stock
Some of these URL schemes doesn’t work anymore in the latest iOS.
Let’s hope they get reintroduced.

itms-apps:// – Open the App Store
maps:// – Open the Maps app
sms:// – Open the compose window of the Messages app
music:// – Go to the currently playing song in the Music app
youtube:// – Open the YouTube app
itms-books:// – Open the iBooks app
facetime://
prefs:root=General&path=Bluetooth
prefs:root=General&path=AUTOLOCKS
prefs:root=NOTIFICATIONS_ID
prefs:root=General&path=USAGE
prefs:root=General&path=Bluetooth
prefs:root=AIRPLANE_MODE
prefs:root=Brightness
prefs:root=Wallpaper
prefs:root=INTERNET_TETHERING
prefs:root=CASTLE
prefs:root=CASTLE&path=STORAGE_AND_BA
prefs:root=General&path=About
prefs:root=General&path=USAGE/CELLULAR_USAGE
prefs:root=MUSIC&path=EQ
prefs:root=General&path=Network
prefs:root=LOCATION_SERVICES
prefs:root=Phone&path=CallerID
prefs:root=Phone&path=CallForwarding
prefs:root=Safari
prefs:root=General&path=Assistant
prefs:root=General&path=Keyboard
prefs:root=Sounds
prefs:root=General&path=Network/VPN
prefs:root=WIFI


想要实现地方的效率,在利用中独有参与scheme是缺乏的,还需求针对该scheme做相应的拍卖,有一点点相像广播通信的原理,输入scheme后发出广播,你须求写收到该广播以至管理的代码。

  1. 永不完成applicationDidFinishLaunching:方法
  2. 达成application:didFinishLaunchingWithOptions:方法,并在其间检查url,假设能管理该url则赶回YES,不然不做拍卖回来NO。
  3. 兑现application:handleOpenU途睿欧L:,处理url,成功再次来到YES,不然重返NO。

    在iOS4中,U冠道L分以下三种方法传入app中

    1. 倘假诺运营程序,则application:didFinishLaunchingWithOptions:被实施,重临YES当且仅当application:handleOpenU奔驰G级L:实行回来YES。
    2. 纵然程序由后台挂起变为活动,则application:didFinishLaunchingWithOptions:不会被试行,但是application:handleOpenUTucsonL:会被实行。


      拍卖代码如下:

      - (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url {
      
         NSLog(@"%@", [url absoluteString]);
      
         if ([[url host] isEqualToString:@"yourURLScheme"]) {
      
             return YES;
      
         }
      
         return NO;
      
      }
      
        - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

           ...

           NSURL *url = (NSURL *)[launchOptions valueForKey:UIApplicationLaunchOptionsURLKey];

           if ([self application:application handleOpenURL:url]) {

               return YES;

           }

           return NO;

        } // End of application:didFinishLaunchingWithOptions:

    ------------------------------------------------------------------------

    #### 注意:

    在iOS4.2之后,application:handleOpenURL:将被DEPRECATED  
    可以使用

        - (BOOL)application:(UIApplication *)application openURL:(NSURL *)url 

               sourceApplication:(NSString *)sourceApplication annotation:(id)annotation

    > sourceApplication  
    > The bundle ID of the application that is requesting your
    > application to open the URL (url).

    sourceApplication即为调用者发送给接收者的Bundle
    ID,比如MobileSafari就是com.apple.mobilesafari

    > annotation  
    > A property-list object supplied by the source application to
    > communicate information to the receiving application.

    调用者发给接收者的plist对象

    ------------------------------------------------------------------------

    如果该程序没有被安装,那么在Safari中打开我们希望能跳转到下载界面。需要实现这个功能,我们可以利用JS的window.location和setTimeout函数。






                      <script>

                 window.location = "URL Scheme:";

                      setTimeout( function(){ window.location="http://App Store地址";   } , 1500);

                 </script>



    将该代码保存为index.html,放于网站上,利用Safari打开该文件,则可以实现如果安装了该应用,则打开,否则能够直接跳转到App
    Store的App下载页面。

    注意

    JS中的URL
    Scheme不要包含非转义字符,比如'-./'等,如果有非转义字符则需要转义后输入到Safari,直接在Safari中输入URL
    Scheme打开应用,如果提示

    > Safari打不开该网页,因为这是一个本地文件

    那么很有可能因为你的URL
    Scheme中包含了非转义字符,最好全为英文字母数字最好。



    ### 代码如何调用

             NSURL *url = [NSURL URLWithString:@"URL Scheme://"];

            [[UIApplication sharedApplication] openURL:url];

    http://www.bkjia.com/IOSjc/867317.htmlwww.bkjia.comtruehttp://www.bkjia.com/IOSjc/867317.htmlTechArticleiOS的URLScheme
    一直都有接触要设置app的url scheme,从最早的facebook开始。
    当时的理解是SSO用的,当授权成功之后,facebook
    app或者safari可以利用...

– application:(UIApplication *)application openURL:url
sourceApplication:(NSString *)sourceApplication annotation:annotation {
}

[[UIApplication sharedApplication] openURL:url参数 options:options字典参数 completionHandler:^(BOOL success) {

NSURL *url = [NSURL URLWithString:@”prefs:root=MUSIC”]威尼斯赌场,;

方法里。

}];

[[UIApplication sharedApplication] openURL:url];

从APP跳转至设置页面

 

//墙纸设置分界面

分界面搭建:

即便大家想从利用bundleID:com.app.app的应用软件内跳转到系统安装中该使用的安装:

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

因此storyBoard直接拖个按键 及 其响应事件

[[UIApplication sharedApplication]openURL:[NSURLURLWithString:@"prefs:root=com.app.app"]];

//蓝牙5.0设置分界面

威尼斯赌场 1

跳转url为prefs:root=com.app.app"进而如若您想跳转到具体某些应用的装置,就必得通晓该应用的bundleID

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

storyBoard创制按键

再举个例子说,要是跳转到文告设置中该应用的装置:
跳转url为:prefs:root=NOTIFICATIONS_ID&&path=com.app.app

//iCloud设置分界面

按键点击响应事件:

 

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

– buttonTouch:(UIButton *)sender { }

URL Scheme

//更多

iOS10事情未发生前的艺术

UEvoqueL Scheme
正是完成跳转U福睿斯L合同的名号(能够七个卡塔尔(قطر‎。
而APP的跳转就要求设置“U奥迪Q5L Schemes”来完结:

About — prefs:root=General&path=About

当然能够一向跳转到设置页面:

威尼斯赌场 2

Accessibility — prefs:root=General&path=ACCESSIBILITY

在“– buttonTouch:(UIButton *)sender { }”里面增添:

 

Airplane Mode On — prefs:root=AIRPLANE_MODE

[[UIApplication sharedApplication]openURL:[NSURL
URLWithString:UIApplicationOpenSettingsURLString] ];

跳转到本金和利息用的装置页面

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

环境: iPhone5s (iOS8.1)

if ([[UIDevice currentDevice].systemVersion floatValue] >= 10.0)
{

Brightness — prefs:root=Brightness

效果:

    NSURL * url = [NSURL
URLWithString:UIApplicationOpenSettingsURLString];

Bluetooth — prefs:root=General&path=Bluetooth

威尼斯赌场 3

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

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

iOS8 直接跳转到设置页面

        

FaceTime — prefs:root=FACETIME

环境: iPhone6s (iOS10.0.1)

    }];

General — prefs:root=General

功效:iOS10之上 会跳转 可是退步,到了桌面上

}else{

Keyboard — prefs:root=General&path=Keyboard

威尼斯赌场 4

  //[[[NSBundle mainBundle] infoDictionary]
objectForKey:@”CFBundleIdentifier”]] 应用标记

iCloud — prefs:root=CASTLE

会跳转 不过失利

    NSURL * url = [NSURL URLWithString:[NSString
stringWithFormat:@”prefs:root=%@”,[[[NSBundle mainBundle]
infoDictionary] objectForKey:@”CFBundleIdentifier”]]];

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

“App-Prefs:root”操作

    [[UIApplication sharedApplication]openURL:url];

International — prefs:root=General&path=INTERNATIONAL

貌似还应该有个章程:(在App内,需在前增加App-“)

}

Location Services — prefs:root=LOCATION_SERVICES

[[UIApplication sharedApplication] openU奔驰M级L:url参数
options:options字典参数 completionHandler:^(BOOL success卡塔尔国 {

 

Music — prefs:root=MUSIC

}];

以下指令 分别跳转到 对应页面:

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

团结依照英特网说法:字典传三个空字典“@{ }”,依旧未能完毕iOS
10上跳转至设置页面包车型客车操作! 最终动用了私有API达成的

prefs:root=General&path=About

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

致歉心声:

prefs:root=General&path=ACCESSIBILITY

Network — prefs:root=General&path=Network

对不起!!各位从前看笔者小说的伴儿们!

prefs:root=AIRPLANE_MODE

Nike + iPod — prefs:root=NIKE_PLUS_IPOD

是因为本人技能不精,加之那时项目很赶!
就未能留神商讨(实际也不用留神卡塔尔,就使用了私有API!

prefs:root=General&path=AUTOLOCK

Notes — prefs:root=NOTES

其实“App-Prefs:root=Bluetooth”是能够完结跳转的!!

prefs:root=General&path=USAGE/CELLULAR_USAGE

Notification — prefs:root=NOTIFICATIONS_ID

URL Schemes

prefs:root=Brightness //展开Brightness(亮度卡塔尔设置分界面

Phone — prefs:root=Phone

法定文书档案:点击走入

prefs:root=蓝牙( Bluetooth® 卡塔尔(英语:State of Qatar) //展开Bluetooth设置

iOS开辟跳到安装分界面可能应用程式之间跳转,app跳转各个系统分界面或使用。Photos — prefs:root=Photos

大器晚成篇中文介绍随笔引用:

prefs:root=General&path=DATE_AND_TIME //日期与时光设置

Profile — prefs:root=General&path=ManagedConfigurationList

U大切诺基L,我们都很明亮,
U路虎极光L,大家也叫它链接或网站;

prefs:root=FACETIME //打开FaceTime设置

Reset — prefs:root=General&path=Reset

Schemes,表示的是五个 U奥迪Q5L 中的一个岗位——最起头的岗位,即
://以前的那段字符。比如 Schemes 是
“http”。

prefs:root=General //展开通用设置

Safari — prefs:root=Safari

招来基本 U奥德赛L Schemes:

prefs:root=General&path=Keyboard //张开键盘设置

Siri — prefs:root=General&path=Assistant

越狱和不越狱本质上用的是同等种艺术,只是越狱现在能够平素从 iOS 查看
UPAJEROL。

prefs:root=CASTLE //打开iClound设置

Sounds — prefs:root=Sounds

核心 URL Schemes 的探寻方法能够由此 App
中的info.plist来查询,分为越狱不越狱的措施,二者原理相似!不细述了~

prefs:root=CASTLE&path=STORAGE_AND_BACKUP //展开iCloud下的蕴藏空间

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

UXC90L Scheme 正是得以完成跳转U景逸SUVL契约的名目。

prefs:root=General&path=INTEHavalNATIONAL //展开通用下的语言和所在设置

Store — prefs:root=STORE

而应用程式的跳转就供给安装“URL Schemes”来实现:

prefs:root=LOCATION_SELX570VICES //打开隐秘行的定点服务

Twitter — prefs:root=TWITTER

威尼斯赌场 5

prefs:root=ACCOUNT_SETTINGS

Usage — prefs:root=General&path=USAGE

添加“URL Types”,设置其“URL Schemes”

prefs:root=MUSIC //张开设置下的音乐

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

里头之后U牧马人L对象,会依赖U科雷傲L Scheme内容来创设!

prefs:root=MUSIC&path=EQ //展开音乐下的均衡器

Wallpaper — prefs:root=Wallpaper

在“– buttonTouch:(UIButton *)sender { }”里面增多:

prefs:root=MUSIC&path=VolumeLimit //张开音乐下的音量

Wi-Fi — prefs:root=WIFI

[[UIApplication sharedApplication] openURL:[NSURL
URLWithString:@”prefs:root=MUSIC”] ];

prefs:root=General&path=Network //张开通用下的网络

  1. 接纳间互为跳转简要介绍

环境: iPhone5s (iOS8.1)

prefs:root=NIKE_PLUS_IPOD

在iOS开拓的进度中,大家日常会碰着须要从一个使用程序A跳转到另一个使用程序B的现象。那就需求大家精通iOS应用程序之间的相互影响跳转发通知识。iOS9之后,应用间跳转必要在Info.plsit中安装白名单。以‘LSApplicationQueriesSchemes’为Key值,对应数组value中增多白名单应用的UPAJEROL
Schemes就可以。若未设置白名单,会报错,值得大家注意。

效果:

prefs:root=NOTES //张开设置下的备忘录设置

规律:通过安装跳转到应用B的U奇骏L
Schemes(自定义的合同头),应用B将其自个儿“绑定”到三个自定义U悍马H2L
Schemes上,就可以从应用A中接受应用B的U奇骏L Schemes运维应用B了。

威尼斯赌场 6

prefs:root=NOTIFICATIONS_ID //张开设置下的布告设置

设置App-B的URL Schemes

iOS8 跳转到 音乐设置分界面

prefs:root=Phone //展开电话设置

慎选项目App-B -> TAPRADOGETS -> Info -> U酷威L Types -> URubiconL
Schemes,设置App-B的U景逸SUVL Schemes为AppB。

在“– buttonTouch:(UIButton *)sender { }”里面加多:

prefs:root=Photos //张开设置下照片和卡片机设置

// 1.拿走使用程序App-B的UTiggoL Scheme

NSURL *url = [NSURL URLWithString:@”prefs:root=WIFI”];

prefs:root=General&path=ManagedConfigurationList //展开通用下的陈述文件

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

// 最佳增进 ⭐️推断标准⭐️

prefs:root=General&path=Reset //展开通用下的复苏设置

// 2.推断手提式有线电话机中是还是不是安装了对应程序

if ([ [UIApplication sharedApplication] canOpenURL:url])

prefs:root=Sounds&path=Ringtone

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

{ // 看是还是不是 允许跳转

prefs:root=Safari //展开设置下的safari设置

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

[[UIApplication sharedApplication] openURL:url];

prefs:root=General&path=Assistant //打开siri不成功

[[UIApplication sharedApplication] openURL:appBUrl];

}

prefs:root=Sounds //打开设置下的响动设置

} else {

环境: iPhone5s (iOS8.1)

prefs:root=General&path=SOFTWARE_UPDATE_LINK //打开通用下的软件更新

NSLog(@”未有安装”卡塔尔国;

效果:

prefs:root=STORE //展开通用下的iTounes Store和App Store设置

}

威尼斯赌场 7

prefs:root=TWITTECR-V //张开设置下的twitter设置

更加多仍然代码下载,请点击自身的博客 

iOS8 跳转到WiFi设置分界面

prefs:root=FACEBOOK //张开设置下的推特(推特(Twitter卡塔尔国(TWT瑞虎.US卡塔尔卡塔尔设置

⭐️⭐️以下指令个别跳转到 对应页面:(自个儿只翻译一些
别的就谐和去做了啦~~嘿嘿)

prefs:root=General&path=USAGE //打开通用下的用量

prefs:root=General&path=About

prefs:root=VIDEO prefs:root=General&path=Network/VPN
//展开通用下的vpn设置

prefs:root=General&path=ACCESSIBILITY

prefs:root=Wallpaper //张开设置下的墙纸设置

prefs:root=AIRPLANE_MODE

prefs:root=WIFI //打开wifi设置

prefs:root=General&path=AUTOLOCK

prefs:root=INTERNET_TETHERING

prefs:root=General&path=USAGE/CELLULAR_USAGE

 

prefs:root=Brightness //张开布赖特ness设置分界面

而在iOS10以上的系统,则不会响应以上的跳转方法

prefs:root=蓝牙( Bluetooth® 卡塔尔 //打开Bluetooth设置

App-Prefs:root

iOS10扶助的放逐的持有跳转,当然iOS 10以下版本也支撑

跳转的URL写法:

有线局域网 App-Prefs:root=WIFI
蓝牙 App-Prefs:root=Bluetooth
蜂巢移动网络 App-Prefs:root=MOBILE_DATA_SETTINGS_ID
村办热门 App-Prefs:root=INTE奥迪Q5NET_TETHERING
运营商 App-Prefs:root=Carrier
通知 App-Prefs:root=NOTIFICATIONS_ID
通用 App-Prefs:root=General
通用-关于本机 App-Prefs:root=General&path=About
通用-键盘 App-Prefs:root=General&path=Keyboard
通用-支持成效 App-Prefs:root=General&path=ACCESSIBILITY
通用-语言与所在 App-Prefs:root=General&path=INTE奥迪Q5NATIONAL
通用-还原 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
肖像与相机 App-Prefs:root=Photos
FaceTime App-Prefs:root=FACETIME

 

运用例子:

NSString * urlStr = @”App-Prefs:root=General&path=About”;

if ([[UIDevice currentDevice].systemVersion floatValue] >= 10.0)
{

    NSURL * url = [NSURL URLWithString:urlStr];

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

        

    }];

}else{

    NSURL * url = [NSURL URLWithString:urlStr];

    [[UIApplication sharedApplication]openURL:url];

}

 

prefs:root=General&path=DATE_AND_TIME //日期与时间设置

prefs:root=FACETIME //打开FaceTime设置

prefs:root=General //张开通用设置

prefs:root=General&path=Keyboard //展开键盘设置

prefs:root=CASTLE //打开iClound设置

prefs:root=CASTLE&path=STORAGE_AND_BACKUP //展开iCloud下的囤积空间

prefs:root=General&path=INTETucsonNATIONAL //张开通用下的言语和地域安装

prefs:root=LOCATION_SECR-VVICES //张开隐衷下的一定服务

prefs:root=ACCOUNT_SETTINGS

prefs:root=MUSIC //展开设置下的音乐

prefs:root=MUSIC&path=EQ //展开音乐下的均衡器

prefs:root=MUSIC&path=VolumeLimit //展开音乐下的音量

prefs:root=General&path=Network //展开通用下的网络

prefs:root=NIKE_PLUS_IPOD

prefs:root=NOTES //张开设置下的备忘录设置

prefs:root=NOTIFICATIONS_ID //张开设置下的照应设置

prefs:root=Phone //展开电话设置

prefs:root=Photos //展开设置下照片和双反相机设置

prefs:root=General&path=ManagedConfigurationList //张开通用下的叙说文件

prefs:root=General&path=Reset //展开通用下的上涨设置

prefs:root=Sounds&path=Ringtone

prefs:root=Safari //张开设置下的safari设置

prefs:root=General&path=Assistant //打开siri不成功

prefs:root=Sounds //张开设置下的声响设置

prefs:root=General&path=SOFTWARE_UPDATE_LINK //展开通用下的软件更新

prefs:root=STORE //张开通用下的iTounes Store和App Store设置

prefs:root=TWITTE昂Cora //张开设置下的twitter设置

prefs:root=FACEBOOK //张开设置下的照片墙设置

prefs:root=General&path=USAGE //展开通用下的用量

prefs:root=VIDEO

prefs:root=General&path=Network/VPN //张开通用下的vpn设置

prefs:root=Wallpaper //打开设置下的墙纸设置

prefs:root=WIFI //打开wifi设置

prefs:root=INTERNET_TETHERING

而在iOS10以上的系统,则不会 以地点的响应跳转方法

且会报如下错误新闻:

-canOpenURL: failed for URL: “prefs:root=WIFI” – error: “The operation
couldn’t be completed. (OSStatus error -10814.)”

iOS10事后的秘技:

1.MobileCoreServices.framework里的私有API

在iOS10随后,苹果对应用程式权限难点更为珍视!此时要兑现跳转,就供给动用“MobileCoreServices.framework”里的私有API了。(作者自个儿日前只找到那个方法。。。卡塔尔国

其入眼是使用了那几个点子:

– openSensitiveURL:arg1 withOptions:arg2;

MobileCoreServices.frameworkAPI其间的查看“LSApplicationWorkspace.h”的URL地址:

下载好“iOS10-Runtime-Headers”整个文件,还恐怕有任何职能和煦能够稳步使用!!

“iOS10-Runtime”的地址:

选用时,只需求往工程里拖入“MobileCoreServices.framework”就可以了!

威尼斯赌场 8

拖入 私有API成功 后 !多出的链接库

iOS10的系统URL Scheme改成了首字母大写,使用小写的法子会不能够展开。

网络说法 :

要先在 info.plist的LSApplicationQueriesSchemes项中添加叁个Prefs的U福睿斯L
Schemes。

威尼斯赌场 9

Plist文件设置

威尼斯赌场 10

Plist文件设置

⭐️最终开掘绝不安装Plist文件也兑现了跳转。

(或许是事情发生前计划了“UPAJEROL Types”的来头吗!还愿意懂的朋友
引导一下!!!卡塔尔国

威尼斯赌场 11

早先铺排的“U本田UR-VL Types”

在“– buttonTouch:(UIButton *)sender { }”里面增添:

NSURL*right_url=[NSURL URLWithString:@”App-Prefs:root=Bluetooth”];

NSString* defaultWork = [self getDefaultWork];

NSString* bluetoothMethod = [self getBluetoothMethod];

Class LSApplicationWorkspace =
NSClassFromString(@”LSApplicationWorkspace”);

[[LSApplicationWorkspace
performSelector:NSSelectorFromString(defaultWork)]
performSelector:NSSelectorFromString(bluetoothMethod) withObject:url
withObject:nil];

-(NSString *) getDefaultWork{

NSData *dataOne = [NSData dataWithBytes:(unsigned char
[]){0x64,0x65,0x66,0x61,0x75,0x6c,0x74,0x57,0x6f,0x72,0x6b,0x73,0x70,0x61,0x63,0x65}
length:16];

NSString *method = [[NSString alloc] initWithData:dataOne
encoding:NSASCIIStringEncoding];

return method; //defaultWorkspace

}

-(NSString *) getBluetoothMethod{

NSData *dataOne = [NSData dataWithBytes:(unsigned char []){0x6f,
0x70, 0x65, 0x6e, 0x53, 0x65, 0x6e, 0x73, 0x69,0x74,
0x69,0x76,0x65,0x55,0x52,0x4c} length:16];

NSString *keyone = [[NSString alloc] initWithData:dataOne
encoding:NSASCIIStringEncoding];

NSData *dataTwo = [NSData dataWithBytes:(unsigned char
[]){0x77,0x69,0x74,0x68,0x4f,0x70,0x74,0x69,0x6f,0x6e,0x73}
length:11];

NSString *keytwo = [[NSString alloc] initWithData:dataTwo
encoding:NSASCIIStringEncoding];

NSString *method = [NSString
stringWithFormat:@”%@%@%@%@”,keyone,@”:”,keytwo,@”:”];

return method; //openSensitiveURL:withOptions:

}

环境: iPhone5s (iOS8.1)

效果:

iOS8 对私有API 并无别的反响

威尼斯赌场 12

iOS8 对私有API无反应

环境: iPhone6s (iOS10.0.1)

效果:

卡顿是因为自个儿打了断点,不要误会了是行使了 私有API的题目~ 😂😂

威尼斯赌场 13

iOS10以上成功跳转

⚠️注意⚠️:由于 使用私有API的应用软件 不可能透过App
Store审查。能够品味把个人类名和selector字符串混淆一下,绕过审查!!!!!

如下是用⭐️ASCII混淆⭐️的方法:

– statusBarView {

UIView *statusBar = nil;

NSData *data = [NSData dataWithBytes:(unsigned char []){0x73, 0x74,
0x61, 0x74, 0x75, 0x73, 0x42, 0x61, 0x72} length:9];

NSString *key = [[NSString alloc] initWithData:data
encoding:NSASCIIStringEncoding];

id object = [UIApplication sharedApplication];

if ([object respondsToSelector:NSSelectorFromString {

statusBar = [object valueForKey:key];

}

return statusBar;

}

当然不提议使用私有API !!
由于其不可相信性,大概某天苹果就只怕直接把它移除了。

行使手续:先判定系统的版本,再思谋是还是不是接收私有API

只是在iOS10之上,笔者找不到任何办法跳转了!!希望有理解的冤家指导一下!!小说有哪些错误疏失之处,还望建议!(本话是立刻写的!未来回头,啪啪打脸~~😂)

(致歉心声:在此之前一向没空回过头来复查本文!对后边的同伴表示对不起!!

并老诚感激那多少个斟酌的情人们!!卡塔尔国

⭐️2.App-Prefs:root⭐️

iOS10扶持的享有跳转如下:(测量检验系统:10.0.1)

至极抱歉,在此以前自身走了弯路!!完全能够不采纳私有API的!

⭐️⭐️⭐️⭐️⭐️⭐️⭐️⭐️⭐️⭐️⭐️⭐️⭐️⭐️⭐️⭐️⭐️⭐️⭐️⭐️⭐️⭐️⭐️⭐️⭐️⭐️⭐️⭐️

跳转的URL写法:

设置页面 App-Prefs:root

(以前在十分设置页面,就跳转到相应的安装页面卡塔尔

有线局域网 App-Prefs:root=WIFI

蓝牙 App-Prefs:root=Bluetooth

蜂巢移动网络 App-Prefs:root=MOBILE_DATA_SETTINGS_ID

村办销路广 App-Prefs:root=INTEPAJERONET_TETHERING

运营商 App-Prefs:root=Carrier

通知 App-Prefs:root=NOTIFICATIONS_ID

通用 App-Prefs:root=General

通用-关于本机 App-Prefs:root=General&path=About

通用-键盘 App-Prefs:root=General&path=Keyboard

通用-扶植功效 App-Prefs:root=General&path=ACCESSIBILITY

通用-语言与地点 App-Prefs:root=General&path=INTE奥迪Q7NATIONAL

通用-还原 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

照片与相机 App-Prefs:root=Photos

FaceTime App-Prefs:root=FACETIME

运用例子:

#define iOS10 ([[UIDevice currentDevice].systemVersion doubleValue]
>= 10.0)

//宏定义,剖断是否是 iOS10.0以上

NSString * urlStr = @”App-Prefs:root=Bluetooth”;

if ([[UIApplication sharedApplication] canOpenURL:[NSURL
URLWithString:urlStr]]) {

if {

//iOS10.0以上 使用的操作

[[UIApplication sharedApplication] openURL:[NSURL
URLWithString:urlStr] options:@{} completionHandler:nil];

} else

{

//iOS10.0以下 使用的操作

[[UIApplication sharedApplication] openURL:[NSURL
URLWithString:urlStr]];

}

}

//iOS10.0以上 ,使用的操作方法

– openURL:url options:(NSDictionary *)options completionHandler:(void
(^ __nullable)(BOOL success))completion NS_AVAILABLE_IOS
NS_EXTENSION_UNAVAILABLE_IOS;

效果:

威尼斯赌场 14

跳转效果体现(情况:Samsung 6s、iOS 10.0.1卡塔尔国

最后示范一下iPhone6s( iOS10.0.1 ) 对各个形式的响应:

威尼斯赌场 15

iOS10对各艺术打断点

1.不响应

[[UIApplication sharedApplication] openURL:[NSURL
URLWithString:@”prefs:root=MUSIC”] ];

2.不满足

[[UIApplication sharedApplication] canOpenURL:url]

基准,故不会进去 if条件语句里

3.对私有API 才响应了。

本来也足以来来回回切换~~ 好无聊😂😂😂

威尼斯赌场 16

使用之间的跳转

在首先个APP中,做如下操作:

1.在info.plist文件中的“Information Property List”下增加大器晚成项:“U福睿斯L types”

2.点开“URL types”下的“item 0”,再点开“item 0”,再将“item 0”下的URL
identifier改为“URL Schemes” ;

3.点开“UHighlanderL Schemes”下的“item
0”,在它背后增添“skipToOne”(“skipToOne”为率先个应用程式的跳转标志,其实道理同安装页面*的跳转*)

威尼斯赌场 17

Plist配置

在第一个应用程式中,在急需跳转到第八个应用软件的地点,增添以下代码:

NSString *URLString = @”skipToOne://”;

NSURL * url = [NSURL URLWithString:URLString];

[[UIapplication sharedApplication] openURL:url];

再也运转第一个应用软件,並且触发跳转到第四个应用程式的事件,就完事APP之间的跳转了。

应用程式间的传值

风度翩翩. 首先实现APP间跳转 的功能。

二. 在此以前跳转效率的代码,只必要稍作纠正。

找到

NSString *aString = @”skipToOne://”

在上头那行代码中的(skipOne://)后边,增多如下音讯:

NSString *aString =[NSString
stringWithFormat:@”skipToOne://username=%@&age=%@”, @”goyohol”, @”18″];

三. 在率先个APP的应用软件Delegate中:

– application:(UIApplication *)application openURL:url
sourceApplication:(NSString *)sourceApplication annotation:annotation

{

NSString *urlStr = [url absoluteString]; //转化为 完整的url字符串

NSLog(@”%@”,urlStr);

return YES;

}

如此就拿走到了urlStr字符串,之后正是团结按照须求的数量对内部的字符串进行拍卖。

早先项目有使用的!之后有空加上示例吧!!也不理解iOS
10事后有没改革!!只晓得iOS 10从今以往,应用程式不能够跳转到设置页面!

Tips—使用“[[UIApplication sharedApplication] openURL: ]”其余作用:

拨打电话、发送邮件等等……

1.调用 电话 拨号

[[UIApplication sharedApplication] openURL:[NSURL
URLWithString:@”tel://800888″]];

// 拨打电话时,不出新⭐️确认框

[[UIApplication sharedApplication] openURL:[NSURL
URLWithString:@”telprompt://800888″]];

// 拨打电话时,弹出⭐️确认框

2.调用 自带Mail

[[UIApplication sharedApplication] openURL:[NSURL
URLWithString:@”mailto://admin@yourName.com”]];

//mailto后加自身账户

3.调用自带 浏览器safari

[[UIApplication sharedApplication] openURL:[NSURL
URLWithString:@”];

// 填上 所要走入的网址就可以

4.调用短信 SMS

[[UIApplication sharedApplication] openURL:[NSURL
URLWithString:@”sms://10086″]];

5.调用 app Store

[[UIApplication sharedApplication] openURL:[NSURL
URLWithString:@”itms-apps://”]];

6.调用 iBook

[[UIApplication sharedApplication] openURL:[NSURL
URLWithString:@”itms-books://”]];

7.调用 Map

[[UIApplication sharedApplication] openURL:[NSURL
URLWithString:@”maps://”]];

8.调用 Facetime ➕ 本身账户

[[UIApplication sharedApplication] openURL:[NSURL
URLWithString:@”facetime://”]];
注意后边加上faceTime的账号如:goyohol@qq.com

以下是常用应用软件的ULANDL Schemes:

“QQ”的url是 mqq://

“微信”是 weixin://

“淘宝”是 taobao://

“点评”是 dianping:// dianping://search

“微博”是 sinaweibo://

“名片全能王”是 camcard://

“weico微博”是 weico://

“支付宝”是 alipay://

“豆瓣fm”是 doubanradio://

“微盘”是 sinavdisk://

“今日头条公开学”是 ntesopen://

“美团”是 i**://

“京东”是 openapp.jdmoble://

“人人”是 renren://

“我查查”是 wcc://

“1号店”是 wccbyihaodian://

“有道词典”是 yddictproapp://

“知乎”是 zhihu://

“优酷”是 youku://

初次跳转,会给予提示

威尼斯赌场 18

🌰展示:跳转至淘宝

NSString * urlString = @”taobao://”;

[[UIApplication sharedApplication] openURL:[NSURL
URLWithString:urlString] ];

效果:

威尼斯赌场 19

跳转至 淘宝

以下为ipad版URL Schemes:

ZAKER :【zakeripad://】

mdict:

京东hd:【openApp.jdiPad://】

易迅:【wx6964eb0b10aa369b://】;;【wap2app://】;【com51buyiPad://】;【sinaweibosso.2217266362://】;【yixunipad://】;

wunderlist:【fb208559595824260://】;【wunderlist://】;

1password:【db-0bcm217bz8olcxj://】;

支付宝:【alipay://】;

亚马逊:【fb115829135094686://】;

寻找朋友:【grenada://】;【findmyfriends://】;;

查找iphone:;

homestyler:【fb110202249127916://】;

百度旅游hd:【sinaweibosso.3772466956://】;

百度录像hd:【BaiduVideoGALAXY Tab://】;【baiduvideoipadapp://】;

百度相册hd:【BaiDuCloudAlbumHD://】;

百度音乐hd:【tencent100518384://】;【QQ05FDC9F0://】;【wxdeda8b7428c87b0b://】;【sinaweibosso.4257500584://】;【BaiduMusicHD://】;

百度浏览器hd:【bdbrowser://】;

百度文库hd:【bdwenku://】;

百度地图hd:【sinaweibosso.67566一九八八://】;

百度云:【tencent100312028://】;

一个one:【clover-one://】;

launchpro:【launch://】;【launchpro://】;【launchpro-light://】;【launchpro-dial://】;【launchpro-tweet://】;【launchpro-brightness://】;【launchpro-messaging://】;【launchpro-email://】;【launchpro-dropbox://】;【launchpro-clipboard://】;【launchpro-facebook://】;【launchpro-sinaweibo://】;【launch-textexpander://】;【db-23algz5zbfx3ocs://】;【launchipad://】;

当当hd:【dangdanghd://】;;

民众点评hd:【dianpinghd://】;

多看阅读:【duokan-reader://】;

艺龙游历hd:【elong华为平板://】;

圈点hd:【skitch://】;

食记hd:【wxb9a9141190826bd8://】;

记念笔记hd:;

popAgraph:【popagraphtumblr://】;

dropbox:【db-auth://】;【dbapi-1://】;【dbapi-2://】;【dbapi-3://】;【fb210019893730://】;

goodreader:;【g

houzz:【fb166981393359376://】;

ifttt:;

片子全能王hd:【camcard://】;【fb444471182246461hdfull://】;【CamCardHDOpenAPI://】;

万年历:【wx5f3a0d4653cd3485://】;

拉手团购hd:【LaShouGroupHDPay://】;

美团hd:;

evermemo:【evermemo://】;

乐乎云堂上:【wangyiyunketang://】;

今日头条公开学:【ntesopen://】;

售票帮手2:【trainassistfree://】;

pcalc lite:;

乐视网录制:【QIYIHD-surface://】;

documents:【fb435446596521711://】;

三国kill:;

和讯早报hd:【wb2812384762://】;【wb801442902://】;【wx81bd672c6e11bad0://】;【QQ05FE6368://】;【tencent100557672://】;【pocketapp89757://】;

干贝信息:【shanbaynews://】;

干贝单词:【shanbay://】;

干贝单词hd:【shanbaywordshd://】;

扇贝柱炼句:【wx6cf98af31a47ba29://】;

百词斩:[wxce5d9e837051d623://】;

微盘:【sinaweibosso.2938478327://】;【sinavdisksso.2938478327://】;

乐乎公开课:【wxa376b1966423b610://】;

skype:;

怎么值得买hd:【wxed08b6c4003b1fd5://】;

搜狐影音hd:【sohu-SV华为平板://】;【sohuvideohd://】;【wx91d741cfa16379bc://】;

teamviewer:【teamviewer8://】;

格志:【griddiary://】;【sumi-interactive://】;【db-d7wn1aiwz2ck3tj://】;

淘宝hd:【taobao://】;【itaobao://】;【taobaohd://】;【wx25e5e60c1e9fcd97://】;【sinaweibosso.346252009://】;【zhuzhancaipiao4ipad://】;【laiwangc6e34c6bf://】;

天猫:;

搜狐影音hd:【tenvideohd://】;【tenvideo2://】;

qq通讯录:【tencentappqqpim://】;

qq:【mqqflyticket://】;

联机推正版HD:;;

航旅驰骋pro:【sinaweibosso.umetrip://】;【umetrippro://】;

mathpad:【myscriptmathpad://】;

下厨房:【wxd80665a1fc1bf282://】;

无忌论坛:【wb801384327://】;【wxe932dc78276c3c24://】;【wb1315970163://】;

雅虎天气!:【yweather://】;

一号店:【ipadstore://】;

优酷hd:【youkuhd://】;

网易早报:【wx841a6aace4a1dca4://】;

知乎:;

diesel
facts:【dk.publishonline.dieselfacts.china://】;【dps.9aebe5a79fb04d9abddf77d97c6794dc://】;

欧洲大陆词典pro:;

拓词:【towordsp://】;

减腹旅程:【sina.5253876156240b2daf015c9d://】;

词ci:【wx599b00cd734bd4a9://】;

有关iOS10随后,使用“App-Prefs:root”的本领是当今才知道!

(在App内,需在前增加App-“)

admin

网站地图xml地图