Xcode6 中URL Scheme的具体使用

这两天用到了应用间的相互跳转,查了网上的好多资料,最后结合了一下自己的验证做了一下xcode6的总结,以此共享!

1. 我们知道iOS没一个应用程序都有一个自己的沙盒,且沙盒和沙盒之间(即是应用与应用之间)是相互独立的。苹果要求每一个应用都只能限制在自身的沙盒中活动,杜绝应用在沙盒外的活动。当然越狱除外!

2. 现在的问题是?很多时候我们都要由一个应用去跳转到另一个应用或者跳转到appStore去共享、分享、下载等。但是应用和应用之间又是这么绝缘。不过所幸的是苹果提供给我们一个非常好的方法:就是 URL Scheme 

3. 他就像一个地址,绑定url scheme 的应用就像是贴了一个独立logo的标签,通过访问应用的url scheme 我们就能跳转到对应的应用中。


说了这么多废话,下面我们开始配置url scheme 。(以Xcode6为基础,最后再说一下可能会遇到的错误)


1.首先打开工程进入tagets的info目录看到URL Tapes


2. 我们点击+号添加 在url identifier 中填入格式:com.company.xxx  在url scheme 中填入(这个可以随便填入,不过尽量和你的app保持一致)比如我填入的是 hztcTestApp 那么在调用的时候实际上是 hztcTestApp:// 格式



3.Role里面选择none就可以了


4.此时把这个工程给运行一下,运行成功以后,这个url scheme 就已经注册到模拟器上了(同理,在真机上安装后就已经注册到真及设备上了)


5.然后我们可以通过另一个工程来进行测试。 测试你设备上存在不存在刚刚注册了 url scheme的应用 可以根据此代码调试

BOOL isOpened = NO;

    

    isOpened = [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"hztcTestApp://"]];

    if (isOpened) {

        NSLog(@"有此应用");//由此应用就直接打开    

    }else{

        NSLog(@"没有此应用");//若无此应用我跳到了商店的QQ

        [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"https://itunes.apple.com/cn/app/qq/id451108668?mt=12"]];

    }


6.至此,差不多已经完成了。最后再说一下,可能会出现的问题 :(没有经过完全验证,不能100%肯定,还请见谅)

我认为在targets中的info目录有URLTayes的不要在.plist文件中添加这些 url identifier 和 url scheme 等 因为可能出现不了正确结果!  当然如果没有 在targets中的info目录有URLTayes 可以在.plist文件中进行配置






  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值