iOS-使用URL Scheme实现App的进程间通信

iOS平台的进程间通信是一件很蛋疼的事,通过窝大量的资料搜索,最后发现好像比较普遍的实现方式则是使用URL Scheme(好吧好像别的方式我还没搞懂,准备看英文文献学习学习先哈哈哈哈哈)。
摘要由CSDN通过智能技术生成

iOS平台的进程间通信是一件很蛋疼的事,通过窝大量的资料搜索,最后发现好像比较普遍的实现方式则是使用URL Scheme(好吧好像别的方式我还没搞懂,准备看英文文献学习学习先哈哈哈哈哈)。

  URL Scheme就是将一个应用自身“绑定”到一个自定义的URL上,该Scheme可以用于在浏览器或别的应用中启动。PS:一个应用是可以自定义多个URL Scheme的。

一、注册自定义的URL Scheme

  首先我们在工程项目的Info.plist文件中添加以下信息。URL identifier一般推荐使用倒置域名方式以确保唯一性。而Scheme是一个数组,所以我们可以设置多个Scheme,之后我们会测试的。
Info.plist配置1

当然我们可以看一些生成的源码。
Info.plist配置2

1.1 URL Scheme启动应用初尝试

  通过上一步在Info.plist文件里配置了应用的URL Scheme之后,Build并Run一下应用。当应用被安装到模拟器上之后。我们则可以首先尝试用Safari来启动我们的应用了。

步骤:
1. 运行以上应用。
2. Shift+Command+H返回模拟器主界面。
3. 然后打开Safari。
4. 输入urlSchemeOne://,并点击确定。
5. 就会弹出如下图,点击Open。然后我们的应用就打开了!

open url scheme

  有兴趣的童子试试urlSchemeTwo://也是可以打开应用的了,并且实际上URL Scheme是大小写不敏感的?= =因为我在safari中全输入的小谢也能打开。。。

1.2 在另一个app中启动自定义URL Scheme

  此时我们创建另一个工程,只需要实现一个功能,就是启动我们刚才设定了自定义URL Scheme的app。所以我们在里面设置了一个按钮。当我们点击该按钮时,则会触发打开URL Scheme的事件。首先我们来看一下代码的实现。

AppToOpenURLScheme

- (IBAction)openUrlScheme:(id)sender
{
    NSURL *url = [NSURL URLWithString:@"urlSchemeOne://"];

    //先判断一下是否可以启动该url
    if ([[UIApplication sharedApplication] canOpenURL:url]) {
        [[UIApplication sharedApplication] openURL:url];
    }
    else
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值