美文网首页
【思考】APP之间的通讯有哪几种方式呢?

【思考】APP之间的通讯有哪几种方式呢?

作者: TsingQue | 来源:发表于2017-09-18 13:21 被阅读27次

    今天遇到阿杰之前面试所说的一个问题,就是简单的说一下自己所知道的APP之间的通讯方式。
    我张口就来:openUrl...
    是啊,我貌似就记得这一种,然后我俩探讨了一下,他说还有支付宝方式的,支付宝的淘口令- copy and paste
    还有就是使用Socket 通讯。其他的我俩也没想起来,今天正好有时间,那么就来稍微研究下。

    【1】先说一下我们比较常用的openUrl这个操作吧

    - (BOOL)openURL:(NSURL*)url NS_DEPRECATED_IOS(2_0, 10_0, "Please use openURL:options:completionHandler: instead") NS_EXTENSION_UNAVAILABLE_IOS("");

    - (void)openURL:(NSURL*)url options:(NSDictionary<NSString *, id> *)options completionHandler:(void (^ __nullable)(BOOL success))completion NS_AVAILABLE_IOS(10_0) NS_EXTENSION_UNAVAILABLE_IOS("");
    这两个方法可以说是在iOS开发中最为常见也比较强大的两个方法,可以打开其他的app,进行外部浏览器的各种操作,打电话,发邮件等等操作都是可以,也是咱们最为常见的一种方式。

    【2】在阿杰的指引下,我们常用的『淘口令』,也是一种方式

    通过『淘口令 令』我们可以使用特定的连接来实现
    『淘口令 』实现
    简单的来说就是使用 系统的UIPasteboard可以检测到系统剪切板是上的内容,然后通过正则匹配剪切板上的连接,进而在app内部打开使用。

    【3】使用Socket 通讯

    网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socket。
    建立网络通信连接至少要一对端口号(socket)。socket本质是编程接口(API),对TCP/IP的封装,TCP/IP也要提供可供程序员做网络开发所用的接口,这就是Socket编程接口;HTTP是轿车,提供了封装或者显示数据的具体形式;Socket是发动机,提供了网络通信的能力。

    因为只想到了这几种,所以剩下的通过上网查询还查到了以下几种

    【4】Keychain

    具体的场景就是咱们常用的app验证登录,某些app可以使用微信或者支付宝登录,具体的使用就是使用了 Keychain 校验
    感谢作者
    文章我就不copy了,需要的同学直接点击链接文章

    【5】UIDocumentInteractionController

    这个在 【4】的文章中也有体现,需要的同学直接请直接查看。

    UIDocumentInteractionController主要是用来实现同设备上app之间的共享文档,以及文档预览、打印、发邮件和复制等功能。它的使用非常简单.

    首先通过调用它唯一的类方法 interactionControllerWithURL:,并传入一个URL(NSURL),为你想要共享的文件来初始化一个实例对象。然后UIDocumentInteractionControllerDelegate,然后显示菜单和预览窗口。

    相关文章

      网友评论

          本文标题:【思考】APP之间的通讯有哪几种方式呢?

          本文链接:https://www.haomeiwen.com/subject/qexbsxtx.html