终止后唤醒应用程序

时间:2017-12-13 12:02:00

标签: ios swift

我希望在使用后台模式终止应用后唤醒我的应用... 我知道我们可以使用位置更新和推送通知。但我不想使用它们。除了那些是他们唤醒我的应用程序的任何方式。

实际上我需要将我的应用程序与websocket连接,即使应用已被终止。

是他们使用核心动作唤醒app的任何方式。或使用麦克风(我的意思是如果应用程序捕获任何语音(声音)数据)..

任何人都可以解释应用程序的生命周期(当它会被唤醒以及什么时候会睡觉)

谢谢你

4 个答案:

答案 0 :(得分:1)

即使有办法(实际上有一些信标技巧,但用户必须在你指定的信标范围内),也不应该这样使用。

如果您的应用是天气服务或新闻源,iOS设备将按照您指定的时间间隔(不少于1小时)唤醒以检查必要的数据。

使用麦克风或核心动作唤醒您的应用可能无法通过苹果审核。

要完全回答你的问题,我必须知道背景模式的原因。

答案 1 :(得分:0)

根据您的要求"我需要跟踪设备动作活动",您可以使用apple API's提供的queryActivityStarting()。 这将收集并返回指定时间段的历史运动数据:

let activityManager = CMMotionActivityManager()
activityManager.queryActivityStarting(from: lastTimeAppCollectedData, to: now, to: queue) { (activities, error) in}

这将返回给定时间段内发生的一系列活动/错误

它仍然不会唤醒您的应用程序,但会允许您在事件发生后查询事件。

答案 2 :(得分:0)

一旦用户退出区域边界,您就可以使用 CLRegion 进行地理围栏,您的应用程序将使用 CLRegion 的 didExit 委托打开,之后您可以使用 CMMotionActivityManager 的 startActivityUpdates 使您的应用程序保持打开状态。

资源: Region Monitoring

答案 3 :(得分:-1)

在应用程序被用户打开之前,一旦应用程序被终止,您就无法访问应用程序。甚至位置更新和推送通知也只能在后台运行。