Ios 当应用程序在后台运行时,有没有办法控制它?

Ios 当应用程序在后台运行时,有没有办法控制它?,ios,background,remote-access,remote-control,Ios,Background,Remote Access,Remote Control,我是IOS开发的新手,最近我正在设计一款可以由其他用户通过wifi远程控制的应用程序 我正在考虑将其实现为一个聊天应用程序,比如当它收到诸如停止当前音乐之类的消息时,它就会这样做。但是如果应用程序在后台运行呢?我搜索了SO,发现当使用didReceivingRemoteNotification时,用户必须点击view来调用该函数。如果我想让它自动发生呢 顺便说一句,如果我的应用程序正在bg中运行,并且它已使用NSNetService或某种方式连接到另一个设备,连接是否会停止?当应用程序处于后台模

我是IOS开发的新手,最近我正在设计一款可以由其他用户通过wifi远程控制的应用程序

我正在考虑将其实现为一个聊天应用程序,比如当它收到诸如停止当前音乐之类的消息时,它就会这样做。但是如果应用程序在后台运行呢?我搜索了SO,发现当使用didReceivingRemoteNotification时,用户必须点击view来调用该函数。如果我想让它自动发生呢


顺便说一句,如果我的应用程序正在bg中运行,并且它已使用NSNetService或某种方式连接到另一个设备,连接是否会停止?

当应用程序处于后台模式时,您可以通过使用静默推送通知来控制,您必须按以下方式发送通知

$body['aps'] = array(
    'content-available' => 1,
.........
    'other_params' => 'value'
    );

即使是后台模式,它也会调用应用程序并调用didReceivingRemoteNotification。但这将从IOS7开始工作。

对于IOS7,您有后台通知获取。有关详细信息,请参阅。在iOS 6或更早版本中,您所要求的实际上是不可能的

当您收到推送通知时,无法自动打开应用程序。但是,您可以在收到推送通知时下载其他信息,以便用户稍后点击通知时,其内容已加载到应用程序中

但是,如果用户强制退出应用程序,则您的应用程序根本不会收到推送通知的通知。在这种情况下,只有当用户点击通知徽章时,应用程序才会打开

也许也有帮助

,并搜索DidReceiveMotonification:
感谢您的建议,有一点我仍然不明白:这是否意味着在IOS7或更高版本中,应用程序将在后台接收远程通知?@Zmr_祥生 是的,通常是这样。但是,当收到通知时,您无法打开应用程序。用户仍然需要点击徽章才能打开应用程序。但您可以通过其他方式处理通知,例如下载聊天信息、下载收到的图像或其他方式。但有一个例外:如果用户故意杀死应用程序,在用户再次打开应用程序之前,你的应用程序将不会收到更多通知。在这种情况下,该设备仍然可以接收推送通知,但与iOS 6及更早版本类似:会显示徽章,但在用户打开应用程序之前不会通知应用程序。