Approval does not work from lock screen
0x1eaf opened this issue · 14 comments
After tapping on Approve Once or Approve this host for 3 hours and passing user presence verification, desktop kr does not receive approval, and approval is only received after opening the application and performing same actions there.
App version: 2.3.0
OS version: 10.3.3
Device: iPhone SE
kr version: 2.2.7
OS version: 10.12.6
Hi @0x1eaf, thanks for reaching out. Can you update kr
to the latest version 2.3.0 and let us know if it works?
Updated kr to 2.3.0.
Behavior stays the same…
Thanks. Can you try re-pairing kr
and Kryptonite by running kr pair
?
Yes. Still doesn't work, device simply unlocks and fades to SpringBoard…
Got it thanks. I think this must be an iOS 10 bug then, I'll try to reproduce on one our iOS 10 devices as soon I can. Please stay tuned and apologies for the inconvenience!
I think it is unlikely to be an issue with OS itself, because prior to update to 2.3.0 everything worked as expected…
Yes, I meant a Kryptonite bug that only occurs with iOS 10 :)
:)
Can confirm this is an issue with Kryptonite on iOS 10. We'll push a fix shortly.
In the mean time, here's a way you can almost avoid the issue: before you tap on the kryptonite request notification, unlock the device by resting your finger on touch id first (but not pressing it so you remain on the lock screen). Now when you tap allow, the request will be processed without needing to open the app.
Thank you)
After some debugging it looks like this is actually a bug in iOS 11 (http://www.openradar.me/radar?id=5540087492247552). Implementing this fix for iOS 10 would break the exact same functionality in iOS 11. I am still looking for a workaround, but best bet might be updating to iOS 11 if you can :/
Will adding -didReceiveNotificationResponse:completionHandler:
dynamically on +load
via class_addMethod()
depending on OS version solve the problem?
Yes it should (I think -- assuming there's nothing funky about how apple loads the appex).
This would would also unfortunately require wrapping the appex in some objective-c...unless you know of a swift way to do this?
As far as I know reflection in Swift is readonly…