【问题标题】:watchOS simple wakeupwatchOS 简单唤醒
【发布时间】:2016-06-23 01:21:59
【问题描述】:

这是我在 Simulator(Watch) 上工作的一些 watchOS 代码:

.....
let interval = 60.0
NSTimer.scheduledTimerWithTimeInterval(interval,
                                       target: self,
                                       selector: #selector(InterfaceController.timerDidEnd(_:)),
                                       userInfo: nil, repeats: false)
.....

func timerDidEnd(timer:NSTimer) {
    print("Time is over! Please wake up!")
}

我从 Xcode 运行应用程序,上面代码的第一部分被执行。然后我按下 Command-Shift-H,应用程序进入后台。

一分钟后,我在调试控制台中看到消息:时间结束!请醒来!

一切都如我所料。我的问题是:

我应该在函数 timerDidEnd() 中写什么,以便让应用从模拟器的后台唤醒,而不是仅仅在调试器中打印当前消息?

【问题讨论】:

    标签: watchkit watchos-2


    【解决方案1】:

    您无法在计时器操作中编写任何内容来将应用程序置于前台。只有用户才能恢复应用。

    如果您想一想,如果应用程序可以随时以编程方式将自己置于前台,这会给用户带来困惑和破坏性。

    恢复应用的唯一方法是用户对通知做出反应。这类似于用户在主屏幕上点击通知操作时在手机上发生的情况。

    【讨论】:

    • 我明白了,你说得有道理。现在,这种情况如何:您和您的应用程序都在休眠。但是你指望你的应用程序能在早上叫醒你。这种情况我们如何处理?
    • 您使用新的 UserNotifications 框架在手表上安排本地通知。通知出现在早上,带有声音/触觉反馈。 Apple 可以在 watchOS 2 中做到这一点。现在我们可以在 watchOS 3 中做类似的事情。同样,通知是你想要做什么的关键。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-26
    • 1970-01-01
    • 2020-01-14
    • 2016-04-17
    • 2016-04-11
    相关资源
    最近更新 更多