如何在 Apple Watch 上禁用“转入睡眠”?

Posted

技术标签:

【中文标题】如何在 Apple Watch 上禁用“转入睡眠”?【英文标题】:How to disable "turn-to-sleep" on Apple Watch? 【发布时间】:2018-02-06 14:05:48 【问题描述】:

我正在使用他们的应用为一家航空公司工作。我们已经在 Apple Watch 上发布了该应用程序,但有一个大问题:用于通过安检和登机的 QR 码扫描仪正在从底部向上扫描......

这意味着您无法使用手表应用,因为当您转动手腕时,手表会进入黑色睡眠模式。

有没有什么办法可以暂时关闭它以供查看?我听说过可以在 WatchOS 4 中禁用它的传言,但不知道如何。

感谢您的帮助! :)

【问题讨论】:

您需要使用 PKPass 对象才能使其与 PassKitController 一起使用...由于人类准则,您无法禁止在 Apple Watch 上睡觉... 【参考方案1】:

这是一个非常有趣的问题。没有 PassKit 似乎没有办法呈现这个(或者即使有 passkit,屏幕仍然会熄灭......)我认为 PassKit 控制器有一些功能,当你聚焦 QR 码时它不会进入睡眠......

阅读here中的watchkit引用,你需要实现passkitController的展示。

因为现在你不能告诉 Apple Watch 放弃睡眠,这违反了人类的准则 + 这确实是一个耗能的解决方案。相反,Apple 使用 PassKitController 实例为您处理。所以在 watchkit 上,你这样做:

 let pass = PKPass(data: /*There goes your data*/, error: nil)
            presentAddPassesController(withPasses: [pass]) 
                // Do  smth on completion
            

您绝对应该尝试通知用户并授予他将 pkpass 导出到钱包的权限...

使用的资源:

https://github.com/TwoRingSoft/pkpassgenerator

用于生成自定义 passkit 对象

这也可以帮助你:

https://www.natashatherobot.com/url-apple-wallet-passkit-pass/?utm_campaign=This%2BWeek%2Bin%2BSwift&utm_medium=email&utm_source=This_Week_in_Swift_138

【讨论】:

以上是关于如何在 Apple Watch 上禁用“转入睡眠”?的主要内容,如果未能解决你的问题,请参考以下文章

如何关闭 Apple Watch 扩展的自动安装?

Apple Watch 通知:点击长通知中的图标时禁用打开应用程序

如何在 Apple-Watch 上获取 iPhone 日历事件提醒

如何在没有 Apple Watch 应用的情况下使用 cordova 在 Apple Watch 上获取 iPhone 应用的推送通知?

如何在 Apple Watch 上检查监控心率?

如何在 Apple Watch 上显示标签?