如果一个应用程序如何在不使用swiching应用程序的情

场景:

  • 我“控制”用户安装的两个不同的应用程序App A和App B.
  • App A正在运行
  • App A需要获取App B上次运行时由App B设置的字符串。
  • 获取字符串后,App A仍将运行
  • 用户不应收到此通信正在发生的任何反馈。 例如,A或B之间没有“切换动画”,没有弹出窗口等。

约束:

  • 应用程序在不同供应商下发布
  • 应用已存在于app store中; 更新版本将具有此通信能力。
  • 存储在App B中的数据可供设备上的其他应用程序访问。
  • 存储在应用B中的数据对于普通第三方是可见的是不可接受的(例如,如果使用外部服务器,则需要某种安全方案)
  • 在安装后打开App A时,应该能够立即读取读取的数据。 例如,我不能要求App A的用户输入外部通信服务的登录凭据。
  • 必须适用于非越狱设备。

这似乎很难在iOS7中实现。 感谢帮助。

棘手的工作。 不推荐,但如果您买不起服务器,它将完成工作。

在第一个应用程序中,在用户的联系人簿中创建联系人。 给它一个通用名称,如“000 – NameOfAppB数据 – 不要删除”(我以“000”开头,所以它到用户联系簿的底部,所以他们从来没有看到它,我还添加“不要删除”因此,如果用户以某种方式找到它,他们不会删除它hahaha)(无论如何谁看着联系人书)。 在notes下的联系信息中,以字符串格式添加NSData。

然后,当打开应用程序A时,搜索该联系人,读取数据,然后删除该联系人。

Apple允许您在未经许可的情况下创建和删除用户联系人。 (至少在2011年他们这样做了,这可能已经改变了)。

这可能符合您的目的

https://developer.apple.com/library/ios/documentation/Security/Reference/keychainservices/Reference/reference.html

我不确定它的局限性,我已经看到了在应用程序之间共享凭据的实现。