是否可以隐藏 NFC 读取会话的 iOS 系统警报
Is it possible to hide iOS system alert for NFC reading session
当您成功完成 NFC
阅读课程后,您会看到类似这样的内容:
这将覆盖当前显示的 ViewController
约 3 秒。有趣的是,这种行为是不一致的,因为如果阅读会话结束得非常快,这个 window 会立即消失。
这意味着我无法确定此叠加层会保留多长时间,这对我们应用的用户体验设计不利。
问题很简单:有没有办法强制此覆盖消失或至少处理它消失的事件(而不是 NFC
会话结束时)?
我找到了一种有趣的方法来隐藏 window。需要 2 个简单的步骤:
1) 初始化 reader 会话时将最后一个参数设置为 false:NFCNDEFReaderSession(delegate: self, queue: nil, invalidateAfterFirstRead: false)
2) 在 readerSession(_ session: NFCNDEFReaderSession, didDetectNDEFs messages: [NFCNDEFMessage])
的正文中你应该调用 session.invalidate()
.
就是这样。它会像您点击 Cancel/Done 一样工作 - 系统 window 将立即消失。
当您成功完成 NFC
阅读课程后,您会看到类似这样的内容:
这将覆盖当前显示的 ViewController
约 3 秒。有趣的是,这种行为是不一致的,因为如果阅读会话结束得非常快,这个 window 会立即消失。
这意味着我无法确定此叠加层会保留多长时间,这对我们应用的用户体验设计不利。
问题很简单:有没有办法强制此覆盖消失或至少处理它消失的事件(而不是 NFC
会话结束时)?
我找到了一种有趣的方法来隐藏 window。需要 2 个简单的步骤:
1) 初始化 reader 会话时将最后一个参数设置为 false:NFCNDEFReaderSession(delegate: self, queue: nil, invalidateAfterFirstRead: false)
2) 在 readerSession(_ session: NFCNDEFReaderSession, didDetectNDEFs messages: [NFCNDEFMessage])
的正文中你应该调用 session.invalidate()
.
就是这样。它会像您点击 Cancel/Done 一样工作 - 系统 window 将立即消失。