在不切换应用程序的情况下,如何在iOS应用程序之间通信数据?

在不切换应用程序的情况下,如何在iOS应用程序之间通信数据?,ios,ios7,ipc,Ios,Ios7,Ipc,情景: 我开发了两个应用程序,应用程序A和应用程序B,这两个应用程序都是用户安装的 应用程序A正在运行 应用程序A需要获取存储在应用程序B中的字符串 获取字符串后,应用程序A仍将运行 用户不应看到“切换动画”。也就是说,用户不应收到任何反馈(例如,切换到应用程序B,然后再返回到应用程序A),表明该通信正在发生 在Android上,这很简单,但我不知道如何在IOS 7上做到这一点。您有几种可能性: 让应用程序B将字符串发送到服务器并在应用程序a上检索它 使应用程序B将字符串存储在钥匙链上,并

情景:

  • 我开发了两个应用程序,应用程序A和应用程序B,这两个应用程序都是用户安装的
  • 应用程序A正在运行
  • 应用程序A需要获取存储在应用程序B中的字符串
  • 获取字符串后,应用程序A仍将运行
  • 用户不应看到“切换动画”。也就是说,用户不应收到任何反馈(例如,切换到应用程序B,然后再返回到应用程序A),表明该通信正在发生

在Android上,这很简单,但我不知道如何在IOS 7上做到这一点。

您有几种可能性:

  • 让应用程序B将字符串发送到服务器并在应用程序a上检索它
  • 使应用程序B将字符串存储在钥匙链上,并使应用程序A读取该字符串(使用相同的钥匙链访问组,如前所述)
  • 创建一个专用
    UIPasteboard
    ,以共享信息(如上所述)
附注:应用程序A和B必须来自同一供应商,否则这些可能性都无法在iOS 7上运行


编辑:正如@rmaddy所指出的,只有当应用程序B在应用程序A要求之前提供数据时,这些才有效。

您有几种可能性:

  • 让应用程序B将字符串发送到服务器并在应用程序a上检索它
  • 使应用程序B将字符串存储在钥匙链上,并使应用程序A读取该字符串(使用相同的钥匙链访问组,如前所述)
  • 创建一个专用
    UIPasteboard
    ,以共享信息(如上所述)
附注:应用程序A和B必须来自同一供应商,否则这些可能性都无法在iOS 7上运行

编辑:正如@rmaddy指出的,只有在应用程序B在应用程序A请求之前提供数据的情况下,这些才有效。

类似或将允许您快速、轻松地将简单数据存储到“云”中。根据一个可以让你推断出另一个应用上的密钥的系统,从一个应用中存储它。然后通过网络从第二个应用程序检索它

很明显,你需要一个网络连接来实现这一点,但考虑到你只是在谈论字符串,即使是在不可靠的E或3G连接上也应该可以

(我与parse或openkeyval没有任何关联。我将parse作为一个开发工具使用,我认为它们很好。)

类似于或将允许您快速、轻松地将简单数据存储到“云”中。根据一个可以让你推断出另一个应用上的密钥的系统,从一个应用中存储它。然后通过网络从第二个应用程序检索它

很明显,你需要一个网络连接来实现这一点,但考虑到你只是在谈论字符串,即使是在不可靠的E或3G连接上也应该可以



(我与parse或openkeyval没有任何关联。我将parse作为开发工具使用,我认为它们很好。)

您尝试了什么?为什么应用程序是分开的?是否需要进行计算或应用程序B已知数据?只有在应用程序B已提供数据的情况下才能进行此操作。如果B在后台,应用程序A无法向B发出请求(至少在用户切换到B的情况下是这样)。我在一个新问题上更好地表述了限制条件和情况:你尝试了什么?为什么应用程序是分开的?是否需要进行计算或应用程序B已知数据?只有在应用程序B已提供数据的情况下才能进行此操作。如果B在后台,应用程序A无法向B发出请求(至少在不将用户切换到B的情况下)。我在一个新问题上更好地表述了约束条件和情况:当然,除非应用程序B在应用程序A请求之前已经提供了数据,否则这些都不起作用。哦,应用程序A和应用程序B来自不同的供应商。这个信息很有用;我要提出一个新问题。当然,除非应用程序B在应用程序a要求之前已经提供了数据,否则这些都不起作用。噢,应用程序a和应用程序B来自不同的供应商。这个信息很有用;我将提出一个新问题。如果我不希望应用程序a向用户请求凭据,我如何安全地执行此操作?(第三方无法访问云中的数据应用程序B商店)如果你想要真正的安全性,那就更难了,但如果你想要正常的隐私级别,只需选择一种不易被猜到的方式。作为另一种选择,您可以让这两个应用程序通过应用程序切换共享一个密钥,然后它们都可以将该密钥用作云URL的一部分。我不想进行任何应用程序切换。A和B都需要知道密钥,我如何才能安全地选择密钥呢?然后,你必须根据两个应用程序都可以知道的一条或多条信息来选择密钥。UDID已消失/不推荐使用,因此您必须(以编程方式)获取并散列(例如)用户的电话号码或姓名,可能还要结合其他类似的唯一但持久的信息。如果我不希望应用程序A向用户请求凭据,我如何安全地执行此操作?(第三方无法访问云中的数据应用程序B商店)如果你想要真正的安全性,那就更难了,但如果你想要正常的隐私级别,只需选择一种不易被猜到的方式。作为另一种选择,您可以让这两个应用程序通过应用程序切换共享一个密钥,然后它们都可以将该密钥用作云URL的一部分。我不想进行任何应用程序切换。A和B都需要知道密钥,我如何才能安全地选择密钥呢?然后,你必须根据两个应用程序都可以知道的一条或多条信息来选择密钥。UDID已经消失/不推荐使用,因此您必须(以编程方式)获取并散列(比如)用户的电话号码或姓名,可能还要结合其他类似的唯一但持久的信息。