【问题标题】:Passing objects between different applications在不同应用程序之间传递对象
【发布时间】:2014-02-23 01:24:09
【问题描述】:

我正在尝试开发一款蓝牙健身手表(仅限蓝牙 LE)作为我的一个项目。我创建了一个应用程序(现在我们可以称之为 FitX),它允许用户连接到手表,类似于 Pebble Watch,并且这个应用程序中的对象称为 fitXWatch(处理连接和所有这些)。

但是,我现在希望能够在另一个测试应用程序中引用这个 fitXWatch 对象,以便用户能够将我的手表集成到相应的应用程序中。这又是和 Pebble 相同的主体。

我知道 iOS 通常是非常沙盒化的,但基于 Pebble,它给了我希望它可以完成。 所以我的问题是,如何将对象从一个应用程序传递到另一个类似于 Pebble 的应用程序?

谢谢!

【问题讨论】:

  • @ElTomato 不,我是说有一个名为“Pebble”的 iOS 应用程序与 Pebble Watch 进行通信。据我了解,在这个应用程序中,您连接到 Pebble 手表。然后在您自己的应用程序中,导入 Pebble 框架并可以从您自己的应用程序中引用 Pebble 对象,该对象是在 Pebble 应用程序中创建的
  • 我明白了。感谢您的信息。
  • @ElTomato 没问题!
  • @ElTomato:是的,您可以使用网络协议在 iOS 中将数据从一个应用程序发送到另一个应用程序。沙盒与此无关。
  • This answer 可能有用。

标签: ios objective-c


【解决方案1】:

据苹果技术Q&A QA1657

问:我了解 iOS 3.0 及更高版本中的外部附件框架将允许我的应用程序与蓝牙设备进行通信。那么为什么我的应用程序看不到我 iPhone 旁边的蓝牙配件呢?

答:外部附件框架旨在允许 iOS 应用程序仅与根据 Apple 的 MFi 被许可人计划开发的硬件附件进行通信。兼容 MFi 的配件可以作为有线设备实现,这意味着它们可以插入 Apple 设备的 30 针或 Lightning 连接器,或者作为无线设备,它们使用蓝牙作为通信通道。无论哪种方式,使用 External Accessory 框架的应用程序都不会收到有关配件存在的通知,除非该配件将自己标识为符合 MFi 标准,即它是专门为与 iOS 应用程序交互而设计的。

【讨论】:

  • 谢谢你。但是,如果我理解正确,这只是解释了为什么某些蓝牙设备未通过设置 --> 蓝牙 ---> 搜索蓝牙设备显示。正确的?这很有用,但我不确定它如何解释我的问题。除非我理解错了?无论如何谢谢你
【解决方案2】:

首先,您确定不能将这两个应用程序合并为一个应用程序吗?或者,也许将 APP A 转换为框架并将该框架包含在 APP B 中?

没有办法在当地做你要求的事情。您必须将对象保存到文件中,然后将该文件上传到远程服务器。当APP B打开时,它应该联系该服务器并下载文件。

【讨论】:

  • 我想我也可能指的是把一个APP变成一个框架。那是怎么做的?谢谢
  • 如果您想要一个快速修复的解决方案,那么您可以在 App B 中包含 App A 的 Xcode 项目。如果您想要一个真正的静态框架,请查看 this。由于我从未构建过静态框架,因此恐怕无法再详细说明了。
猜你喜欢
  • 1970-01-01
  • 2021-12-25
  • 2018-11-11
  • 2012-02-10
  • 2020-07-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-12-10
相关资源
最近更新 更多