TIM*_*MEX 7 lifecycle application-lifecycle ios appdelegate swift
func application(application: UIApplication, didReceiveRemoteNotification data: [NSObject : AnyObject]) {
var dat = JSON(data)
if application.applicationState == UIApplicationState.Active {
// app was already in the foreground
println("App is in foreground")
processNotification(dat)
}else{
// app was just brought from background to foreground via PUSH
println("App brought back via PUSH")
processNotification(dat)
}
}
Run Code Online (Sandbox Code Playgroud)
这是我检查推送通知的方式.但是,如果我发送推送通知,用户会错过它,然后通过图标打开应用程序?如何从图标中查看应用程序的打开时间?
nhg*_*rif 13
该UIApplicationDelegate协议定义了几种方法,可以将代码添加到应用程序的几个生命周期事件中.
您特别感兴趣的是:
application(_:willFinishLaunchingWithOptions:) - 在应用程序尚未在后台运行时,在应用程序完成启动之前调用application(_:didFinishLaunchingWithOptions:) - 当应用程序在后台尚未激活时,在应用程序完成启动后调用applicationDidBecomeActive(_:) - 在应用程序变为活动状态后调用,当用户从头开始启动,从后台重新打开,以及用户从临时中断(例如电话呼叫)返回时调用applicationWillEnterForeground(_:)- 这是在应用程序进入后台之前调用之后 - 紧接着是applicationDidBecomeActive(_:)调用无论用户是通过通知还是通过点击图标打开您的应用程序,此生命周期事件都可以触发.据我所知,没有办法确定应用程序是通过点击图标打开的.您可以知道(ish)应用程序未通过通知打开,因为相关的"确实收到通知"方法永远不会触发.但是这仍然允许用户打开应用程序的两种(至少)方法:点击应用程序图标或双击主页按钮并点击应用程序将其从后台唤醒.
| 归档时间: |
|
| 查看次数: |
7562 次 |
| 最近记录: |