SimplicityMobile / Simplicity

A simple way to implement Facebook and Google login in your iOS apps.
Apache License 2.0
681 stars 66 forks source link

Callback not called #30

Closed Alex293 closed 10 months ago

Alex293 commented 7 years ago

Hi, when the user press the Done button at the top of the safari view the simplicity callback is not called. I think it should be because now the code can't have any clue if the safari view is cancelled like this.

edjiang commented 7 years ago

Yes, that's correct. If the user "cancels" the login, it's not called. I'd be open to having it call back with an error; is there a specific use case you're looking for, where you need that information?

Alex293 commented 7 years ago

Nothing specific I just want to be called when its cancelled. I'm modifying the status bar style before opening the modal and I'd like to restaure it after closing as I do when the user accept or deny the login.

I think it would be great if you use the same callback with an additional error type for this kind of cancel because someone could use that info. It's still different than denying the login.

edjiang commented 7 years ago

OK, I looked into this more today, and determined that it may not be a good thing to return it in the regular callback, since the callback is designed to be kind of "fool proof". If you're a lazy developer, you can just make an UIAlertView if error is not nil, and print out the error's description. Having a dialog saying "Error: you cancelled the login" would not make sense in normal circumstances.

Any ideas for how I can incorporate this without introducing undesired behavior?

I think earlier someone asked to get the Safari object from Simplicity so they can "present" it themselves; if that's the case you could attach to the delegate yourself. Or, I can modify Simplicity to just give you the URL, and have you initiate the Safari / app:openURL flow.

Alex293 commented 7 years ago

The why not another optional callback? I think it's nice to have the safari view inside the lib it provide a cleaner usability for the lib users

smahajan28 commented 7 years ago

Any updates?

edjiang commented 7 years ago

We can add an optional callback; feel free to submit a pull request :)