How do I react to Facebook API Graph deprecation warning? - ios

Our iOS app uses official iOS Facebook SDK (latest version) to handle user login and getting user friends. This is the only way of interaction with Facebook platform. We do not make any direct HTTP requests to Graph API, etc.
But when I open Facebook developer portal, I get a warning: "API Graph v2.8 will be deprecated on Apr 18, 2019 ...".
How shall I react to it? I checked that API Graph integrated into the Facebook SDK is later than 2.8. Can I safely ignore the warning then?

As long as you donĀ“t use any features that are deprecated with v2.8, you can ignore it:
https://developers.facebook.com/docs/graph-api/changelog/
...and if the SDK uses a newer version, you are safe anyway.

Related

Single Sign On authentication in IOS requires LinkedIn App

We've migrated to the latest LinkedIn IOS SDK which only supports single sign-on (SSO) authentication, in conjunction with the official LinkedIn mobile application. Our app works really well with this, however Apple will not approve our latest version, because it requires the LinkedIn app to be installed for the authentication to work.
We need a solution which handles the scenario when the LinkedIn app is not present, to use web authentication, however LinkedIn are very specific stating Mobile SDK-enabled applications require the official LinkedIn iOS app to be installed on the device to function properly" https://developer.linkedin.com/docs/ios-sdk - The Mobile SDK was released in July, so presume we are not alone in having our app rejected by Apple approvals.
Could you test for the presence of the linked-in app:
if it is not there: implement OAuth2 directly through your app
if it is there: use it or your OAuth2 implementation (which you'd probably err on the side of using their app for the link-ability between any features of the app you may need in yours).
Thereby avoiding the REQUIREMENT to have the app installed.
Researching for this I did find:
Mobile vs server-side access tokens
Presently, there is no mechanism available to exchange them. If you
require tokens that can be used in both the mobile and server-side
environment, you will need to implement a traditional OAuth 2.0
solution within your iOS environment to acquire tokens that can be
leveraged in both situations.
from: https://developer.linkedin.com/docs/ios-sdk-auth
which suggests that authentication away from the app is supported.
Pleased to confirm that the solution kindly suggested by Madivad of using the new LinkedIn SDK if the LinkedIn app is installed and when it's not reverting to traditional OAuth 2.0 works fine. Apple are also back on our Christmas card list as they approved this latest version today within 40 minutes of submission:) Thanks Madivad for helping out with this.

Facebook app token to be revoked after the 30th of April 2015?

I work on a legacy iOS app, which uses Facebook SDK to let user login and publishes on user's behalf likes and posts on the wall. It requests email, publish_actions, user_likes permissions.
The app already has a valid app token and worked fine with Facebook SDK v3.13, pointed to Graph API v1.0.
Recently I have upgraded it to Facebook SDK v3.23 with Graph API v2.2.
Facebook's upgrade guide (https://developers.facebook.com/docs/apps/upgrading#v1tov2) says:
Once you are defaulted to Graph API v2.0, you should test all possible
features to ensure full functionality. <...> If your app is fully functional
after defaulting to Graph API v2.0, you need to go through Login
Review before April 30th, 2015.
What happens if I refuse to go through review?
Will the older ("v1.0") / newer ("v2.2") builds of the app be still functional after 30/05/2015?
Will the users be able to log in and like/post/share?
V1.0 will be gone completely after April 2015, and all permissions that need review will stop working if they did not get approved.

Facebook auth.extendssoaccesstoken error code 10

In our Facebook app developer insights, we're seeing consistent daily errors for method auth.extendssoaccesstoken with error code 10, 'Application does not have permission for this action'. We are on the latest SDK with a near exact implementation of the current iOS integration guide. Searching Google, SO and Facebook Developers for the error and/or anything to do with extend token provided no results. Is there something I should be enabling on the Facebook app?
After further investigation into the Facebook SDK source, I believe I have a solid lead.
Some, not all, of our users are getting the this error
The previous behavior of auth.extendSSOAccessToken was depended upon the app receiving the 'offline_access' permission from the user.
The facebook-ios-sdk does not touch the 'offline_access' permission anywhere in it's code.
The application "not having permissions" for extending the access token suggests that the method still depends on the application getting the 'offline_access' permission. The only change is this now happens silently.
The Conclusion:
The app is not being granted the 'offline_access' permission in one of the many different methods of authentication. The iOS SDK attempts authentication in the following manner:
iOS Integrated Facebook Dialog
iOS Facebook App "Fast App Switch"
Login through Safari
Facebook SDK UIView Login Dialog
4 seems outdated and unlikely, and we're getting ~17% error rates which narrows it down to 1 or 3, since 2 is definitely still widely used.
Will update after further analysis.
Update 1
Using Facebook's insights and our git history, I believe the issue occurs when the user authenticates using the iOS6 Integrated Facebook Dialog (method 1). Came to the conclusion because the error appeared on Facebook Developer Insights after the iOS6 release and we released a version of the app that used SDK 3.1
Will update after testing

Prevent iOS native login using Facebook SDK 3.1

I am looking for a way to prevent the native Facebook iOS 6.0 login using Facebook SDK 3.1. I ask this because I would like to request read and publish permissions on login. Using the native login only allows you to request read permission.
I have found a fix for this. To request read and publish permissions on Login, thus preventing the native dialog use the deprecated method, openActiveSessionWithPermissions.

Will ShareKit v0.2.1 stop working with Facebook soon?

Is ShareKit going to stop working for Facebook sharing come 11th October 2011?
As I understand it the current version (0.2.1gm1) of ShareKit uses the REST api, which is based on the old iPhone SDK (facebook-iphone-sdk) and according to today's blog:
On October 11th, apps using the old JavaScript Library (FeatureLoader.js) or the old iPhone SDK (facebook-iphone-sdk) for authentication will no longer be able to authenticate users until these apps switch to OAuth 2.0
Or does it already use OAuth 2.0, so no changes are needed?
Just a little confused as to whether I need to update my apps in advance or not - thanks!

Resources