I understand it's possible to Detecting programmatically whether an app is installed on iPhone . I'm wondering if it's possible to detect what version of the other app is installed?
My app has a dependency on the Facebook native client, but behaves pretty badly if the phone has an older version of the Facebook app installed. So I'd like to be able to detect that and warn users.
-- UPDATE --
It's being implied in the comments that I can prevent users from installing my app in the first place if the appropriate version of the dependent app is not present. That would be a great solution too. If you know how I can specify a dependency on another app's version number, please explain that.
Unfortunately, you can not read your iOS device settings programmatically to get the native app Facebook version (i.e. via Settings, Facebook, Version).
Nevertheless, you might try to experiment with the custom URL schemes for Facebook as you noted in your own question.
It seems the different versions of the native Facebook application either support/does not support its own custom URL schemes.
As noted here from version 3.4, you can:
fb://places
From version 4.0, as noted here, you can:
fb://place/(fbid)
etc.
Related
I have a flutter chat app. Companies like Whatsapp & Facebook update their app without forcing users to uninstall or manually uploading the APK again to google play. Is this possible with futter i tried using firebase remote config but it didn't work as i expected ( Changing UI on the go ). Any answer will be appreciated.
WhatsApp and Facebook use React Native with CodePush (if I'm not wrong).
You can't update an app without forcing a user somehow to update the app from a store with Flutter as it compiles to binary and React Native – not
There are multiple things you can do and it is based on what you want to achieve. [From your question your goal is not clear.]
Change Something based on configuration.
If you have configurations defined then you can use Firebase remote config to pass on value to devices and devices should behave according to value that you have set on Firebase Remote config.
Limitation of this approach:
In this approach, don't expect your newly updated code will into existing app. Above approach works, if code is already there in the compiled binary and you just want to switch path.
Binary version update:
If you want to force new app version download then it would require a different approach,
Android: Yes it is possible.
iOS: In-App update is not possible. You can show prompt to user by saying that new version is available and redirect user to new version on Store.
If user has enabled auto-download in iPhone settings then there are chances that app version updated to new version when user come to app.
For implementation look at here: Binary version update
Flutter now has unofficial support for code push using Chimera Flutter Code Push.
Here is a full tutorial
I would like to add functionality to my Ionic based application to check the respective app store for a newer version, and if present, prompt the user to download once (not repeatedly- they should be able to skip and not be nagged). Similar to Siren, but for Ionic and both Google Play and Apple App Store. I see this similar request for native apps and AppStore and this similar request for Play Store, but nothing specific to Ionic. I feel like I could stitch it together using App Version and ajax calls listed from those requests, but that there has to be other people who have done this already and have existing Cordova/Capacitor plugins for this. Also that there may be nuance that a naive solution could fail (ie ajax call fails, app stores change API, newer version is not supported on device, etc).
Is there an existing plugin or code that will implement the behavior described above?
You can use Market plugin in addition to the App version plugin..
I haven't come across a solution which directly checks the app store, instead i have to maintain the app version in my server db and check it at app start.
Here is the flow that can be used..
App Launches
Checks the current app version using APP VERSION plugin
Calls an API endpoint to my server to compare for the deployed app store version (which is maintained in the db)
If the app version is outdated, use the MARKET plugin to take the user to the app store.
A Capacitor alternative to the market plugin is there, but didn't test it out.
Follow Capacitor plugins proposals, for an upcoming solution.
I want to get list of the apps installed on the users device in iOS 11 using Swift 4. But I'm unable to find a place where such functionality is documented. Is it even possible in iOS 11 ?
Its not possible to get list of all the installed apps, perhaps you can try with particular app's deep link and canOpenURL(_:)
like if you want to check if whatsapp is installed or not the device then you can try with url "whatsapp://" or if you want to check whether fb is installed or not then you might try "fb://" with canOpenURL(_:) and it will return yes/no based on the result found.
As suggested by #milan-manwar, you could use canOpenURL(_:). However this API has been deprecated in iOS 10, because it can be used to spy on users. The whole thing is described for example at this blog. Twitter had used this API before to spy on people. That's why you really should not do this.
try below link for get list of all installed application with information in iPhone device.
https://github.com/profburke/AppLister
I need to share one video url getting from my server in twitter.
And my app must be compatible for both ios 4.0 and ios 5.0.
I know that there is twitter+oauth library for ios 4.0 and twitter inbuilt library for ios 5.0. And my functionality is twitter library need to ask user credentials only once for twitter authentication and need to post that video url in background with out asking user permission.
From the second time onwards video must posted in background.
As per my knowledge we have different libraries we need to use but is there any solution that do implemant my task with one library.
Please help me.
For a beautiful implementation, check out DETweetComposeViewController.
It will provide you with a UI that looks almost identical to what iOS5 users now are growing accustomed to. The great point is, it works on iOS4 and iOS5 flawlessly.
GetShareKit was a basic library created by Nate Weiner that's now outdated. If you check it's GitHub source, the last commit was sometime in 2010. This version is buggy and has about 20+ compile warnings. this uses an older version of the Facebook and Twitter sharing mechanisms that are now deprecated and also, buggy. Clicking Twitter's "Share", for eg, won't dismiss the sharing dialog.
So, a bunch of developers forked off the original library and now maintain what's called ShareKit 2.0 SDK. If you check the wiki, you'll learn that all new services like Foursquare, LinkedIn, InstaPaper, EverNote have been added to this new version. Happy Coding!
Due to reasons out of my control I'm forced to use the legacy Facebook Javascript SDK on a new application. My question is. Is this possible? Des Facebook allows you to use the old legacy SDK on new applications? Or is it deprecated already and cannot be used on new applications?
Facebook is moving to OAuth 2.0. All apps are required to migrate over by October 1st. This means the old school Facebook JavaScript SDK is going to be phased out as it does not support this. I'm not sure if the old JavaScript library will stop working at that time, but I would definitely migrate to the newer SDK.
http://developers.facebook.com/blog/post/497/
Yes you can still use it. Its still even documented. Just reference it here:
http://static.ak.connect.facebook.com/js/api_lib/v0.4/FeatureLoader.js.php You obviously run the risk that they will eventually disable it but it is used all over the Internet so they are not likely to permanently kill it anytime soon.