ios - iOS 中应用启动时是否存在应用间通信?

标签 ios iphone mobile-application

我对 iOS 应用程序开发比较陌生,我只是想弄清楚一些对我来说更抽象的事情。应用程序如何知道其他应用程序何时启动?我能想到的最接近我想要问的例子是当音乐在后台播放并且您打开另一个有声音的应用程序并且音乐停止时。是新应用程序取得了权限还是存在应用程序间通信?如果存在沟通,那么沟通如何进行?比如它是一条可以访问的消息还是什么?

抱歉,如果这没有多大意义,我会尽力详细说明。我在苹果的开发者网站上找不到任何相关内容。提前致谢!

最佳答案

没有应用程序间通信。每个应用程序都生活在自己的世界中,就您的应用程序而言,它是手机上唯一的应用程序。通信发生的方式是应用程序与系统对话,系统与您的应用程序对话。系统向您的应用程序发送消息的方式通常在您正在使用的框架的委托(delegate)中。在您的示例中,打开应用程序播放音频将向系统发送一条消息,系统将告诉其他应用程序停止音频播放。其他应用不知道是您的应用发起了停止。另一个例子是AppDelegate 。应用程序委托(delegate)将发送您的应用程序消息,例如 application:didFinishLaunchingWithOptions:(在此方法中,您可以在其中进行应用程序的自定义初始化)或 applicationWillResignActive:(通常在以下情况下发送)用户按下主页按钮或接到电话,因此您可能希望在此处保存您的游戏等。

其实iOS系统很复杂,复杂到这里无法详细解释所以我强烈建议阅读Apple Developer Documentation ,其中一些可能有点枯燥,但他们会尽力与完全初学者保持连贯。

关于ios - iOS 中应用启动时是否存在应用间通信?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26436343/

相关文章:

ios - 如何创建单例并跳过sharedInstance静态属性语法部分

ios - 如何在 iOS 中进行简单的 AB 测试

ios - Xcode 错误 "Could not find Developer Disk Image"

ios - Cocos2d 返回 Sprite body 上的触摸位置

iphone - uitableviewcell中的两个部分

ios - Sprite 与屏幕底部碰撞?

iphone - 在 iPhone 上混合音频

android - 检测移动应用程序的首次使用

mobile - 网络应用与移动应用

iphone - 在 iPhone 中长按拖动 UIButton