两个应用程序间的通信

是否可以在两个不同的应用程序之间进行通信,一个在后台运行,另一个在前台运行? 如果是,任何人都可以build议如何?

是iPhone可以在两个应用程序之间进行通信,但仅限于less数情况。

  1. 可能有些应用程序需要根据某些事件(如电话呼叫等)发送到后台。在这种情况下,您将必须configurationaudio会话对象(基于Voip的应用程序)并相应地发送通知。

  2. 前面的示例只是在应用程序之间进行交互,而且灵活性非常低(在某些重要的内置事件中将应用程序发送到后台)。另一种方式是通过URL Schemes,苹果具有某些内置function并支持某些应用程序,如邮件.tel等,但其中的一个应用程序将前来。

就像你可以拨打一个电话号码一样

NSString *phURL= [NSString stringWithFormat:@"tel:%@", [NSString StringWithString:@"1-800-555-1212"]]; NSURL *phoneURL = [NSURL URLWithString:phURL]; [[UIApplication sharedApplication] openURL:phoneURL]]; 

顺便说一句,如果你需要实现一个自定义URL Schemes ..有乐趣。

  1. 另一种方式是通过UIDocumentInteractionController ,它提供了应用程序间的支持,以在特定的文件之间进行交互(沙箱环境禁止一个完整的访问,甚至访问可以修改其他应用程序的数据)。就像它可以用来预览邮件应用程序中的文件或下载附件。但是你不能修改他们的其他应用程序,当然你可以复制它并修改它为你的应用程序。

我不认为这正是你想要的,但它肯定会让你在应用程序之间进行交互。

https://developer.apple.com/library/IOs/#documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/AdvancedAppTricks/AdvancedAppTricks.html#//apple_ref/doc/uid/TP40007072-CH7-SW18

它只是使用URLscheme来激活一个命令,并在另一个应用程序中打开。 只要尽量避免使用苹果默认为您自己的应用程序。