11

我正在编写一个研究应用程序,该应用程序利用通过 UDP 广播数据的特定传感器。有各种商业应用程序使用这种传感器,我们希望能够同时运行我们的应用程序和现有应用程序。

过去(iOS 8 及以下)我们会在后台运行我们的应用程序来记录数据,并在前台运行不同的应用程序。不幸的是,似乎只有一个应用程序能够绑定到传入的 UDP 数据(这是有道理的),但是随着即将到来的“并排”应用程序功能,我想知道是否有任何解决方案可以在应用程序之间共享数据。

我唯一能想到的就是让我们的应用程序以某种方式捕获数据并将其重新广播到其他应用程序,但我不知道这在 iOS 中是否可行,即使你会如何确定“ who" 锁定了 UDP 流。

苹果文档位于:https ://developer.apple.com/library/prerelease/ios/documentation/WindowsViews/Conceptual/AdoptingMultitaskingOniPad/index.html#//apple_ref/doc/uid/TP40015145似乎没有提供太多信息。

4

1 回答 1

1

我不确定这是否适用于您的用例,但您可能希望使用CloudKit将数据发送到自定义应用程序容器。在您的第二个应用程序的应用程序功能部分,您可以访问共享容器。

来自iCloud 设计指南

当您启用 iCloud Documents 或 CloudKit 功能时,Xcode 会将您的应用程序配置为访问 iCloud 容器,该容器的名称基于应用程序的捆绑 ID。大多数应用程序应该只需要访问默认容器。如果您的应用程序之间共享数据,请启用“指定自定义容器标识符”选项并添加一个或多个用于共享数据的容器 ID。

来自 Apple ~ 更多细节见原文

在应用程序之间共享容器

或者,将您的应用配置为使用多个容器或与其他应用共享一个容器。例如,您可以在内部使用一个应用程序以编程方式创建记录类型和记录,以将数据库返回到已知状态。此应用程序需要与您正在开发和测试的最终用户应用程序共享同一个容器。为此,您可以让第一个应用程序使用第二个应用程序的默认容器或创建两个应用程序共享的自定义容器。iOS 和 Mac 应用程序也可以配置为共享相同的容器。

将容器添加到应用程序

选择另一个应用程序使用的现有容器 ID 或创建一个新容器 ID。

将容器添加到应用程序

在 iCloud 设置下的“功能”窗格中,选择“指定自定义容器”。</p>

当您之前选择 CloudKit 服务时,Xcode 会为您的应用程序创建一个与捆绑 ID 匹配的默认容器 ID。默认容器 ID 旁边会出现一个复选标记。

1

如有必要,单击容器表下方的刷新按钮,从会员中心下载其他应用程序使用的容器。在您要添加的容器 ID 所在的行中,选中复选框。Xcode 更新权利文件中的容器 ID 列表。

下面的屏幕截图显示了 Curator 和 Gallery 应用程序共享 Gallery 应用程序的默认容器。

2

创建自定义容器

或者,创建一个由多个应用程序共享的自定义容器。

重要提示:只有团队管理员可以创建容器。如果您是个人,则您是单人团队的团队代理(具有管理员权限)。

创建自定义容器

如果选择“使用默认容器”,请选择“指定自定义容器”。</p>

单击表格底部的添加按钮 (+)。在出现的对话框中,输入要添加的容器的标识符。

警告:您不能删除容器 ID,因此请谨慎选择容器 ID。

容器 ID 以 iCloud 开头。后跟一个反向 DNS 表示法的字符串,如 iCloud.com.example.gkumar1.SharedGallery 容器 ID。

3

单击确定。

Xcode 将新容器 ID 添加到 Xcode 项目权利文件和成员中心。

如果您想与另一个应用程序共享新的容器 ID,请将容器添加到应用程序,如将容器添加到应用程序中所述。

验证您的步骤

您可以在 iCloud 设置或会员中心查看您团队的所有容器 ID。在会员中心,您还可以添加容器和编辑容器名称。

在会员中心查看容器 ID

在会员中心,选择证书、标识符和配置文件。在标识符下,选择 iCloud 容器。

4

于 2015-11-25T17:14:39.353 回答