I'm integrating with Stack Exchange API on iOS 6 & 7. To authenticate, I load up a UIWebView with the OAuth page. Google login works well, but Stack Exchange and Facebook do not. Are these problems expected? If not, what are the solutions?
Tapping on "Log in using Facebook" flat out fails. Nothing will happen. I have a suspicion that this button tries to open a new tab, which would work on mobile Safari, but would not in a UIWebView, as UIWebView has no tabbing support.
- Went to www.stackapps.com and signed up a new Stack Exchange account.
- Opened up my iOS app and tried to log in using that Stack Exchange account.
- Login popup appears, but after I attempt to log in, I'm taken back to the first page, saying "You are not logged in.".
- I suspected that Stack Exchange was a "site" and I needed to add my account to that site. So I go to www.stackexchange.com on a desktop browser and log in there with my new account. I get a prompt asking me to authorize. I accept.
- I go back to my iOS app and now I'm able to login using my new Stack Exchange account.
This, I believe, is not a technical problem, but a user experience problem. I gave my app to two people in my company for internal usability testing and they both came back to me, asking why they could not log in using their newly created Stack Exchange accounts. I had to explain to them the concept of Stack Exchange subsidiaries, such as Stack Overflow, Gardening, Fitness, etc... Although it is inconvenient on a mobile app to have to context switch to a browser and add your account to each site, it is tolerable. However, a Stack Exchange account not being able to use the Stack Exchange login option is just utterly confusing. It is hard to think of stackexchange.com as a "site" at the same level as stackapps.com. I always thought that the hierarchy was that Stack Exchange owned Stack Apps, Stack Overflow, etc..