iOS-自动从后台打开应用程序

iOS-自动从后台打开应用程序,ios,Ios,是否可以以某种方式从后台模式重新打开应用程序? 例如,如果后台应用程序正在检查服务器上的某个标志,然后在触发时,它将自动转到前台 如果没有,我是否可以显示消息并播放声音,以便用户请求重新打开应用程序 例如WhatsApp是如何实现这一点的 无法自动打开应用程序,这意味着向用户显示应用程序 但是,可以使用推送通知在后台打开应用程序,以便它可以执行短任务。这是通过创建一个包含内容可用的字段来实现的 如果当应用程序有新内容可用时,服务器向用户设备发送推送通知,则您可以要求系统在后台运行应用程序,以便它

是否可以以某种方式从后台模式重新打开应用程序? 例如,如果后台应用程序正在检查服务器上的某个标志,然后在触发时,它将自动转到前台

如果没有,我是否可以显示消息并播放声音,以便用户请求重新打开应用程序


例如WhatsApp是如何实现这一点的

无法自动打开应用程序,这意味着向用户显示应用程序

但是,可以使用推送通知在后台打开应用程序,以便它可以执行短任务。这是通过创建一个包含
内容可用的
字段来实现的

如果当应用程序有新内容可用时,服务器向用户设备发送推送通知,则您可以要求系统在后台运行应用程序,以便它可以立即开始下载新内容。此后台模式的目的是最大限度地减少用户看到推送通知和应用程序能够显示相关内容之间的时间。应用程序通常会在用户看到通知的同时被唤醒,但这仍然会给你比其他情况下更多的时间

要支持此后台模式,请在Xcode项目的“功能”选项卡的“后台模式”部分启用“远程通知”选项。(您还可以通过在应用程序的
Info.plist
文件中包含
UIBackgroundModes
键和
远程通知
值来启用此支持。)

对于触发下载操作的推送通知,通知的有效负载必须包括值设置为1的内容可用密钥。当该键存在时,系统会在后台唤醒应用程序(或将其启动到后台),并调用应用程序代理的方法。该方法的实现应该下载相关内容并将其集成到应用程序中

下载任何内容时,建议您使用类来启动和管理下载。有关如何使用此类管理上载和下载任务的信息,请参阅


我可以为用户显示消息并播放声音以请求重新打开应用程序吗


是的,根据Apple的说法,当应用程序处于后台时,您可以使用一个

,所有功能将自动暂停,并在应用程序处于再次激活状态时恢复。您唯一可以使用徽章或声音进行本地通知的方法请阅读此文档以了解更多信息

如果后台应用程序正在检查服务器是否有标记,以及 然后当被触发时,它会自动转到前台吗

目前还不可能

我可以为用户显示消息并播放声音以请求应用程序吗 重新开放

对。当您发送本地通知时,会在用户屏幕上弹出警报。用于添加本地通知的示例代码:

UILocalNotification* localNotification = [[UILocalNotification alloc] init];
localNotification.alertBody = @"AlertBody";
localNotification.alertAction = @"AlertAction";
localNotification.timeZone = [NSTimeZone defaultTimeZone];    
[[UIApplication sharedApplication] scheduleLocalNotification:localNotification];
当通过点击通知打开应用程序时,以下参数“launchOptions”将获得该值:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
调试并查找launchOptions的值:

    [launchOptions objectForKey:UIApplicationLaunchOptionsLocalNotificationKey];

如果我们假设应用程序安装在设备上,但从未打开(因此从未建立与APN的通信,因此不可能发生推送通知)-除了用户显式打开应用程序(或其他导致应用程序打开并实际到达前台的方式)之外,还有什么能导致应用程序启动(在后台)?@uerceg,否,我认为那是不可能的。