【问题标题】:Is it possible to send data between two apps running on the one iPad是否可以在一台 iPad 上运行的两个应用程序之间发送数据
【发布时间】:2013-09-25 10:52:57
【问题描述】:

我想知道是否可以在我的 ipad 上运行两个应用程序,其中一个应用程序向另一个应用程序发送数据,而后者根据从第一个应用程序接收到的数据更新其信息。请注意,我不太关心电池寿命或类似的事情。我只是想证明一个概念,而且我是 iOS 编程的新手。

例如,我想制作一个运行并使用 iPad 原生蓝牙 LE 功能的应用。我想捕获 RSSI 信号强度(整数值),然后将其发送给我也在 iPad 上运行的单独 Unity 应用程序。

通常,我会使用网络将蓝牙数据发送到服务器并从 Unity 应用程序中读取。但是我想尽可能避免这种情况。

那么我可以在一个 iPad 上运行两个应用程序,第一个应用程序将它收到的信息发送给第二个应用程序。

【问题讨论】:

  • 我认为您的计划存在严重缺陷。您假设后台应用程序将在前台应用程序运行时继续运行。即使在 iOS7 中,也不能保证这一点。您可以拥有长时间运行的后台任务和后台应用程序刷新,但您不能让后台应用程序永远运行。如果其他应用程序需要内存,它们将被挂起并可能终止(Unity 可能会占用内存)。您应该将 RSSI 实用程序作为 Unity 应用程序中的线程运行。 docs.unity3d.com/Documentation/Manual/PluginsForIOS.html

标签: ios ipad bluetooth unity3d


【解决方案1】:

您可以使用custom URL schemes 在应用之间传递信息。

【讨论】:

  • 但是,调用 URL 方案也会打开另一个应用程序。如果不打开它,您就无法将数据发送到其他应用程序。
  • 不,不打开就不能发送数据。但是你可以让他们快速来回切换,这不会是世界末日。
  • 我需要第一个应用程序在第二个应用程序运行时不断将其数据发送到第二个应用程序。我可以让第一个应用程序将其数据作为后台任务发送吗?打开第一个应用程序不是问题。它正在从第一个到第二个获取数据。
  • 结合 URL 方案可能会起作用。试一试,让我们知道:)
【解决方案2】:

你可以通过iOS pasteboard 解决这个问题:

粘贴板是一种安全且标准化的交换机制 应用程序内部或应用程序之间的数据。许多操作依赖于 粘贴板,著名的复制剪切粘贴。 [...]但你也可以使用 在其他情况下共享数据的粘贴板 应用程序是可取的。

【讨论】:

  • 粘贴板是否能够从第一个应用程序中获取流式数字,并在第二个应用程序运行时仍将其发送到第二个应用程序?
  • 好吧,如果你第一个到run in the background,我不明白为什么不可能。不过,您必须弄清楚要将“流式”数据转换为粘贴板可通信数据时要做出的妥协。
【解决方案3】:

自己没做过,不过你也可以试试用UDP。因此接收应用程序需要在后台模式下运行并侦听某些 UDP 多播组地址和端口。发送应用程序只是将数据发送到该 UDP 组 IP。

【讨论】:

  • 不知道这是否可行,但它肯定是一个值得了解的创造性解决方案
【解决方案4】:

据我所知,我们无法直接将数据从一个应用程序读/写到另一个应用程序。但是,如果您将数据发送到一台服务器然后访问该数据,则将其显示在另一个应用程序中。

【讨论】:

  • 如果您使用 iCloud 并且两个应用程序共享相同的标识符,则可以。它们本质上都是对共享存储的读/写。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-08-23
  • 1970-01-01
  • 1970-01-01
  • 2020-12-19
相关资源
最近更新 更多