在具有不同团队ID的iOS应用程序之间私下共享数据

Mag*_*ave 6 uipasteboard ios ios7

如何在具有不同团队ID的同一设备上的两个应用程序之间私下共享数据?我们过去通过粘贴板来做到这一点,但是使用iOS7来使用特定于应用程序的粘贴板,他们现在必须具有相同的团队ID.

我们试图解决的问题是,如果用户购买了另一个应用,则可以在一个应用中解锁功能.我们希望这在后台安静地发生(因此最初使用特定于应用程序的粘贴板),但具有一定的安全性以防止用户欺骗进程和解锁功能.

我们正在研究的一种方法是使用系统粘贴板,但使用设备特定密钥加密数据.只要两个应用程序使用相同的算法生成密钥,这应该有效,但他的问题就是如何生成应用程序特定的密钥.

有关启用此类功能解锁方案的最佳方法的任何建议/指导将非常有帮助.

小智 11

我也使用粘贴板在应用程序之间发送数据.它是在应用程序之间发送中等大小数据量的非常有用的工具.我实际上在一段时间之前写了一篇关于这个主题的博客文章.

不幸的是,正如您所指出的,私有粘贴板仅适用于在其应用ID中共享相同前缀的应用.这通常是团队ID,但如果您的应用程序可以追溯到可以使用不同的捆绑种子标识符,则可能会有所不同.

如果您在具有不同前缀的应用之间共享中等数量的私有数据,则可以按顺序使用不同的解决方案.在这种情况下,我建议使用某种形式的加密,并使用通用粘贴板来传输数据.根据数据的敏感性,即使使用私有粘贴板,加密数据也是一个好主意.Rob Napier有一个很好的库,可以使加密和解密变得非常简单.

或者,如果您的数据相当小,您可以考虑将数据编码为URL并使用URL方案将数据移动到另一个应用程序中.