Open aftoncreative opened 4 years ago
Hi,
Update on this. The problem is actually not only the face ID, but the sign in flow in general.
When running locally, the login works normally with first attempt.
When running the app from test flight, the first attempt does not apparently invoke the success callback but second attempt does.
I have the same issue. Running locally works but running from TestFlight does not launch the success callback.
I’m also having this issue. Works fine locally but requires multiple attempts from TestFlight to launch success callback.
We are also facing similar issue where in the success or failure callbacks are randomly not getting invoked. The behaviour is such that the apple sign-in windows closes but the success / failure callback is not getting invoked. Happens in both scenarios when you successfully login or if you press cancel in the apple sign-in dialog. It is not consistent i.e. few times it succeeds and few times if fails.
Scenario:
Click on apple sign-in button Sign-in Dialog opens Click cancel or login Sign-in Dialog closes. Callback not getting invoked on all times. 1 out of 3 times it fails. Again this behaviour is reproducible only in production build and not in simulator.
CLI: 6.7.4 tns-ios: 6.5.2 nativescript-apple-sign-in version: 1.1.0
I found the problem may be related to garbage collection of delegate variable.
This variable may be removed by the minifier during production build. A simple fix is add export flag to it
I found the problem may be related to garbage collection of delegate variable.
This variable may be removed by the minifier during production build. A simple fix is add export flag to it
@20051231 Hi, thanks for the find, can you please help us how to add the export flag to it?
I found the problem may be related to garbage collection of delegate variable. https://github.com/EddyVerbruggen/nativescript-apple-sign-in/blob/ad62e1f2be973be91a04d8a1a8cf6105cbe07b3d/src/apple-sign-in.ios.ts#L13
This variable may be removed by the minifier during production build. A simple fix is add export flag to it
@20051231 Hi, thanks for the find, can you please help us how to add the export flag to it?
should be enough to change this line.
export let delegate: ASAuthorizationControllerDelegateImpl;
I did not build the project but I just modify the npm package to test it.
I found the problem may be related to garbage collection of delegate variable. https://github.com/EddyVerbruggen/nativescript-apple-sign-in/blob/ad62e1f2be973be91a04d8a1a8cf6105cbe07b3d/src/apple-sign-in.ios.ts#L13
This variable may be removed by the minifier during production build. A simple fix is add export flag to it
@20051231 Hi, thanks for the find, can you please help us how to add the export flag to it?
should be enough to change this line.
export let delegate: ASAuthorizationControllerDelegateImpl;
I did not build the project but I just modify the npm package to test it.
I have done a build and tested in TestFlight. I can validate that this fix works.
I made a PR #15 with the delegate export.
It can take some time until it gets merged so meanwhile you can try to use my package which contains the change.
https://www.npmjs.com/package/@hifox/nativescript-apple-sign-in
@EddyVerbruggen Old issue but is there any chance you could take a look at the PR highlighted above?
@EddyVerbruggen this is blocker, Apple will not allow me to release the app because this feature must work, i must have user name and email and this plugin shows this data only once. Please resolve if you can. Thanks a lot.
@konradkluzniak unfortunately, this is how the apple sign in works :( they only return the e-mail on the first run (that's where you have to create an account on your side and link it with the apple id) https://developer.apple.com/forums/thread/121496
Thanks @res0 , so does it mean that i can only have this data ONCE, and never again i can check it using any token or something ? The thing is, if you login with apple this data is saved in https://appleid.apple.com/. Only one way to see this data again is to login at https://appleid.apple.com/ and remove this app from stored logins. This will not work and apple submission guy will reject again. So how they do it in native iso apps ? Thanks. Also, above we have a solution for this or am i wrong ? Cheers.
@konradkluzniak yeah, only once. I don't get that too, but it is what it is. :D When you get it the first time, you have to keep the data associated with the user ID
@konradkluzniak yeah, only once. I don't get that too, but it is what it is. :D When you get it the first time, you have to keep the data associated with the user ID
Thanks! But is user will uninstall the app , i eventually will loose this data...
@konradkluzniak that's why you need to keep it outside of the app, somewhere on your server.
I am testing the Sign in with Apple with Face ID facial recognition on.
The Sign in with Apple flow looks to be succesful but the callback is never fired on the first attempt.
After the second attempt, the Sign in With Apple-flow is once again successful and this time the callback is invoked normally.
Anyone else experiencing this issue? What could be the issue here?