如何在不切换应用的情况下为一个应用提供数据?

时间:2014-03-06 04:38:07

标签: ios ios7 ipc

情景:

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

约束:

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

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

2 个答案:

答案 0 :(得分:2)

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

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

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

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

答案 1 :(得分:0)

这可能符合您的目的

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

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