gpt4 book ai didi

ios - 在同一部 iPhone 上运行的应用程序之间透明通信

转载 作者:技术小花猫 更新时间:2023-10-29 10:39:31 25 4
gpt4 key购买 nike

有许多类似的问题,所以这个问题被仔细地限定了范围,以免重复。

先决条件

  • 两个 iPhone 应用(单独的 bundle ID),您可以完全控制每个应用的源代码
  • 用户在同一部手机上安装了这两个应用
  • 没有与其他主机的网络连接
  • 没有越狱
  • 假设应用程序具有在后台无限期运行的适当能力

目标

  • 在应用之间进行双向通信
  • 尽量减少或消除用户观察到的表明此类通信正在发生的证据
  • 后台app会有新信息需要到前台app,所以需要push或者polling机制
  • 理想情况下可以在生产中使用,因此不使用私有(private) API

所以问题是“可以做到吗?”

以下是关于“已经尝试过”的一些说明 - 已经考虑过的不同方法。

很好理解的攻击媒介

  • 使用另一个主机 - 合理,但由于延迟而被排除在问题定义之外
  • 自定义 URL 方案 - 一种非常好的方法,但由于动画和上下文切换而不理想,尤其是在轮询时
  • Settings.app -> Privacy(例如联系人)下的内容 - 可以使用,但宁愿不请求权限

可能行不通的事情

  • “打开方式...” api
  • 以某种方式共享文件系统
  • 蓝牙

可能的想法

Apple 小心翼翼地避免公开此功能。有没有人想出办法来做到这一点?

最佳答案

还有一个想法:在 iPhone 上的一个应用程序中启动本地 Web 服务器,并将其用于应用程序之间的通信。

这里是 implementation of such server

这里是 usage example

我自己没有尝试过这个解决方案,但看到了使用这个想法进行通信的应用程序。

此外,我认为 Apple 有意不实现任何简单的应用程序间通信方式。现在你可以让你的应用程序像它是整个设备上唯一的一个应用程序一样,除了内存使用等很少的异常(exception)。一旦这里有一些应用程序之间通信的简单方法,我们就会发现自己处于更加复杂的环境中。作为程序员,我们需要考虑更多的限制、规则和可能性。

但我也希望有一些方法可以在应用程序之间进行通信,很多很棒的想法都可以用这个工具来实现。

关于ios - 在同一部 iPhone 上运行的应用程序之间透明通信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22181756/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com