两个应用程序之间的通

zah*_*lay 8 objective-c ios

是否可以在两个不同的应用程序之间进行通信,一个在后台运行,另一个在前台运行?如果是的话,有人可以提出建议吗?

Abh*_*ngh 5

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

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

  2. 前面的例子只是在灵活性极低的应用程序之间进行交互(在一些重要的内置事件中将应用程序发送到后台).另一种方法是通过URL Schemes,apple具有一些内置功能并支持某些应用程序,如邮件.tel等.但其中一个应用程序将会出现.

就像您可以拨打电话号码一样,该电话号码是在应用程序中使用: -

NSString *phURL= [NSString stringWithFormat:@"tel:%@", [NSString StringWithString:@"1-800-555-1212"]];
NSURL *phoneURL = [NSURL URLWithString:phURL];
[[UIApplication sharedApplication] openURL:phoneURL]];
Run Code Online (Sandbox Code Playgroud)

顺便说一下,如果你需要实现一个自定义URL方案,那就是它的故事..它很有趣.

  1. 另一种方法是通过UIDocumentInteractionController其提供在应用内支持成具有某些文件之间的相互作用.(沙箱环境抑制完全访问或者甚至访问可以修改其它应用的数据).像它可以被用于预览在邮件应用的文件或下载附件.但是你不能为其他应用程序修改它们,当然你可以复制它并为你的应用程序修改它.