iOS users cannot access web app with SSO - ios

Facebook seems to more or less require single-sign on for iOS apps. The downside seems to be that no iOS user can subsequently access the web app. (They are automatically redirected to the iTunes store.)
This means that once you develop a native iPhone app, no iPad user can access a perfectly usable experience on the web, and instead can only use the iPhone version. Facebook itself does not redirect against the user's will to the iPhone version simply because you navigate to Facebook in iOS Safari, so why is this forced on developers and users?
Of course, it's possible our dev team overlooked some workaround, but for the moment, it seems it's impossible for a single Facebook app with multiple clients (native, web) to actually offer users choice as to which type of client they use. Does anyone know otherwise?

Related

iOS apps authentication and API

I am pretty much newbie in iOS app developments. I have a question about authentication from iOS app.
Consider Android where a Google account is mandatory for each device and using the same account we can authenticate in any Android application.
Is there any similar approach available in iOS? May be using that we can authenticate user directly into iPhone application?
Apple provides iCloud features for authentication purposes. It lets you save data and files in iCloud storage and it will be synced between all devices logged in with the same iCloud account.
If you want to keep using your Google accounts on iOS devices as well there is no native way of doing so. However there are several libraries and pods available for this purpose. Google has a good SDK for working with Google Authentication and it is well documented as well.
https://developers.google.com/identity/sign-in/ios/start-integrating

How to recommend a native app when viewing web app in devices?

Have you ever used gmail in your Android or iOS using your browser. While browsing it you get a small popup at the top saying that to view/install the native gmail app available at Google Play or AppStore. How do you do that? Is that feature done using html, css, and JS. Or is it built-in to native app?
By the way, this doesn't happen only for gmail but pretty much all the professional apps with both web apps and native apps.
On iOS, you're thinking of Smart App Banners, which are a website configuration detail to display a banner for the user to view your iOS app in the App Store:

What does Apple think about complete Web Based Apps?

I used to be a Web Developer and I'm not experienced at developing iOS Apps.
I've just found out that I can make the whole App a Mobile Website. So my question is if Apple accept these kind of Apps, where the whole content is a normal mobile friendly Website. As Apple can't control the content displayed in such an App.
There are three ways you can leverage your expertise as a web developer to develop iOS apps:
Use SFWebView or WKWebView and use it to present HTML (either stored or retrieved remotely) to the user. In this case your app would have to go through AppStore review. There's plenty of apps like these, so I would assume it would not be a huge issue.
Use a framework like React Native that compiles Javascript dialects into native UIKit. Again, the app would be up for review in the AppStore. It would feel more iOS-like to the users.
Develop a bona-fide web app that looks great on any phone and you skip the AppStore part.
I'm working as a web developer too and we did a few iOS apps for our clients. Basically 90% or more where pure web view and so far we didn't had problems getting through with them.

iOS webapp open from another webapp or safari

Is there a way I could make links to my website open in the web app if the user has it installed on their home screen? Like if there is a link to my website in the Facebook app, how do I tell the iPhone to open the web app and not safari?
I know native apps can do this, and you can open one app from another... but can the same be done with a web app and native app or two web apps (open one web app from another)?
It's probably super far fetched, but it would be a nice feature!
Yeah, it would be a nice feature... but unfortunately you can't yet. iOS 8 may be?

Enabling payments on the mobile web breaks our app in native iOS

Turning on "Enable payments on the mobile web" in the application settings prevents our application from showing up in the native Facebook app! Is this supposed to be happening?
We built the app in sandbox mode, and used FB.UA.nativeApp() to determine if we were in native. In the case that we are in native, we disable all of our Facebook credits buttons.
However, now our app is live and when we check the "Enable payments on the mobile web" box in the developer settings, the app disappears from native iOS and/or offers up an access error (everything fine in Android). As soon as we un-check the box, the app is back in action, but of course all of the credits buttons don't work in Android.
It seems strange that Facebook would keep us from using credits across all platforms with a single checkbox. Are we doing something wrong, or is this just what we have to deal with?
Looks like it's either/or.
"Accepting payments are different on iOS since Facebook Credits are not supported within iOS native apps.
On the mobile web (including mobile web apps linked from Android), you must use Facebook Credits.
On iOS, you must build a native app and use iTunes payments." https://developers.facebook.com/docs/credits/
You can't have an app that is native iOS and Android. (well you can, but as you saw, it's not going to work). You can have mobile Web that serves iPhone and Android, but the iPhone won't be native.
Thanks for the question, I was curious to implement, and wonder if this is a deal-killer for us, too.

Resources