swift - 检查是否从 Swift 中的 UILocalNotification 启动

标签 swift uilocalnotification

这是 How to check launchOptions in Swift? 的后续问题- 我让我的应用程序成功启动而没有崩溃,但我似乎无法正确检测应用程序何时从通知启动与正常启动。

我正在像这样创建我的 UILocalNotification:

// set up a frequently recurring notification here just for testing...
var fast = UILocalNotification()
fast.fireDate = NSDate(timeIntervalSinceNow: 15)
fast.alertBody = "Alert Message"
fast.timeZone = NSTimeZone.localTimeZone()
fast.repeatInterval = NSCalendarUnit.CalendarUnitMinute
fast.userInfo = ["Important":"Data"]
UIApplication.sharedApplication().scheduleLocalNotification(fast)

这是我尝试处理从 UILocalNotification 启动应用程序的代码。

func application(application: UIApplication!, didFinishLaunchingWithOptions launchOptions: NSDictionary!) -> Bool {
    if var launch = launchOptions {
        if var key = launch.objectForKey(UIApplicationLaunchOptionsLocalNotificationKey) {
            // I never seem to reach this point...
        }
    }
    return true
}

如果我的应用程序处于后台状态并且我点击了警告框,我想触发的操作会正确执行,所以我知道我至少可以让一条路径正常工作。这里的问题是完全从通知启动应用程序。

最佳答案

如果您的 App 在后台运行,则不会调用“application didFinishLaunching”方法。它已经启动。

在这种情况下,您应该在“application didReceiveLocalNotification”方法中完成您的工作。

func application(application: UIApplication!, didReceiveLocalNotification notification: UILocalNotification!) {
        // do your jobs here
}

关于swift - 检查是否从 Swift 中的 UILocalNotification 启动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24856025/

相关文章:

ios - 使用 UILocalNotification 从核心数据中删除数据

ios - 当应用程序处于后台时,如何检测特定时间何时过去?

iphone - 如何在警报 View 中隐藏关闭按钮和关闭操作以仅显示 "Open app"按钮

ios - 如何在不通知 ios 应用程序的情况下发送数据消息?

ios - UITableView 弄乱了行内容

iphone - iPhone 上收到本地通知时显示 View Controller 时出现问题

ios - UILocationNotfication.fireDate 过去 - bug?

ios - 如何使用 UIView 画线?

android - android ByteBuffer.wrap(data).getFloat() 的 swift 等价物是什么?

Swift 条件向下转换什么都不做