Process for Facebook iOS SDK deprecations - ios

I'm an SDK maker which has bundled the Facebook iOS SDK (version 3.6 from July 24, 2013). I'd like to understand Facebook's SDK deprecation policy so that I have advanced notice and can update my product accordingly. Where can I find/subscribe to this information?

The best I have found is: https://developers.facebook.com/docs/ios/upgrading/ which gives details of each release. Often new SDK versions will contain features which are announced at launch so I don't know how much advance warning you will get. In version 3.1 a feature is to protect agains breaking changes server side and I remember getting several messages in the Facebook developer area to update apps at this point so I guess you will just have to watch out for changes as they come. That said, I think versions 3.1+ remain supported, from which I would infer that they deliberately support older versions, so you should not have too much of an issue.

All the details of the new V2.0 API can be found in the Changelog and Upgrade guides:
https://developers.facebook.com/docs/apps/changelog
https://developers.facebook.com/docs/ios/upgrading/
The version of the API as it was before last April 30 will be available until April 30 2015.
The new V2.0 will be available for at least two more years. To be precise: from the moment when a new version of the API is introduced, the current (thus V2.0) will be supported for two more years.
Within the same version there will be no breaking changes to core functionalities.
In the Changelog you can read a lot about the new permissions, and which are removed. Basically, all friends_* permissions are removed. Furthermore, your app needs to be reviewed when it uses other permissions than public_profile, email and user_friends (which now returns only the list of friends that also use your app).
You can read more on the reviewing process here: https://developers.facebook.com/docs/apps/review

As a facebook developer, I am unaware of any advance notice "push" notifications from facebook about new releases or future releases unfortunately. You basically will hear about it first via the media and then it will appear on the developers.facebook.com website. There is probably little they could do about this without putting all developers under non-disclosure. That is sort of the reality we are all operating under by placing your product dependent on, or on top of, another companies product. We have had experience here personally with that for years under Microsoft so we are use to it. Unfortunately, you just have to educate your end customers of this fact. Some will understand.

Related

Using SDK that calls deprecated APIs

Im developing an SDK and its deployment target is set to 9.0. Im using some API's that are deprecated in iOS 10 and above and others that are deprecated at iOS 13 and above.
My question is what will happen to an app that is consuming my SDK and its deployment target is set to iOS 14? will my SDK be affected? will my methods get properly invoked? will it crash the hosting app? is the behaviour under these circumstances is unclear? or maybe all will run perfectly?
Any light on this would be appreciated, thanks.
First things first, deprecation is the first step in the process of ending the life of an API and Apple is warning the developers that these APIs will be removed in one of the future iOS releases. Nobody knows when except Apple. There is certainly a wisdom in that (e.g security concerns, better API design, etc).
Developing an SDK which uses deprecated APIs is generally considered a dead end. I am sure you have your own reasons, however, anyone who uses your SDK will be asking themselves whether there will be any value or will there be a maintenance overhead.
There are certain issues during the development stage that you should be aware of. If the app developer of an app who uses your SDK sets the deployment target to iOS14, most probably Xcode will flag this up as a warning. It depends on other things such as the development language that you are using, whether it is already compiled etc.
Assuming there is a good reason for you to move forward, there are several scenarios on what could happen.
In Production, the very short answer to your question is, the application will crash if the API is removed in the next OS upgrade by Apple (if the app developer doesn't take any action before it is released). However, long answer is a little bit more complicated than this.
The best case scenario is Apple doesn't remove the API for a very long time e.g UIWebView. I think it has been at least 5 years now since Apple deprecated the framework, and technical you can still build an app with the UIWebView. That means you do not have to do anything (in theory).
However, if the API is removed by the new OS update, there are several scenarios:
The device is eligible for an OS upgrade, THEN the app will most likely keep crashing when the API is called by the app/sdk.
If the device is NOT eligible for an OS upgrade (e.g stuck on iOS 10), the app will still live for a while on these devices until the owner buys a new device (whether the app developers takes action or not). That particular app version should also be available through iCloud purchases/downloads. So customers can re-download that version even if they delete it etc.
For an active app developer, the first scenario shouldn't happen. I would expect them to test the app on the next beta of the OS version and take action if there is an issue e.g ask you to provide an update, or replace your SDK with another one.
The API removal process can be a little bit more informed and Apple might force your hand, but be still gentle. Apple may make it explicit and warn developers that any new apps, or app updates which contain the API will not be accepted to App Store. This ties the app developers hands. They need to make a choice. This warning would be months in advanced and you would put this work into your backlog and plan for it.
The scenario in bullet point 2, on the other hand, may not be obvious at first, and Apple is doing a pretty good job of convincing the customers to buy the latest devices. There is a relative 2 year cycle, so you may not find many customer using older phones which are stuck on older OSs. This may be ignored depending on your significance level.
The app developers may or may not be able to keep the min target of the app. If they are so adamant then most likely their app will not be compatible with the latest devices or Apple may refuse their updates (as above). Then that means it is pretty much the end of life of the app, only used by a handful of customers.
There is also scenario where Apple may also remove the applications from App Store and iCloud download which are not maintained for a certain period of time (this has happened).

How can I get current Zapier App version on zapier site

Is there any way user can check app version? Preferably via the UI on the zapier.com (not from the developer account)
It's needed for testing and reporting purposes.
If the integration is public on the Zapier site and the user is using the promoted version, then it's not possible for the end-user to see what version of the app they're using.
If they've been invited to a non-public version of the app, I believe it shows the version in the app title across the site (like AppName (1.2.3)).
From Zapier community:
Just to add some further clarity here, this is how we display versions:
If the app has not been migrated and the version is deprecated, it
will say so when the Zap is viewed in the editor.
If the app has not been migrated and the version is NOT deprecated,
you will see the version listed in the Zap in the Editor
If the app has been migrated or you're on the latest version, you
won't see the version listed and it won't say deprecated or anything
else.
Hope that helps to clarify!

Google places autocomplete for ios not working 100% of the time

Google places autocomplete is working sporadically. We are not anywhere near reaching the maximum quota 201 requests, and with no errors showing.
Knowing that google places autocomplete was previously working perfectly fine and that we haven't made any changes in the past few weeks.Now, it seems like more of a luck thing with 30% chance of working and 70% not.
Check the version that you are using, maybe you are using an unsupported version.
Notice: Version 2.7.0 of the Places SDK for iOS is deprecated as of January 29, 2019, and will be turned off on July 29, 2019. A new version of the Places SDK for iOS is now available. We recommend updating to the new version as soon as possible. For details, see the migration guide. See Source link
Here is the link to follow in order to setup the API correctly (following your needs)
Also, if you will be using the version 3+ take a look at this reminder:
Reminder: To use the Places SDK for iOS, you must:
Include an API key with all API requests.
Enable billing on each of your projects.
Enable the Places API service for each of your projects.
Hope this will solve your issue you ;)

Microsoft Edge Extensions - Can we submit them? Is there an update page?

Can I submit my extension to the Windows store? If not, how will I know when Edge has opened this capability for all developers? Is there some update page or Twitter account or something (anything!) that I am missing!?
I just noticed that there are now more extensions than I remember there being a few weeks ago, but is it still by invitation only?
I already ported and tested my extension in Edge.
I'm sorry that this is not a coding question, but I'm tired of every other week trying to find this information to make sure that my extension becomes available as quickly as possible.
Updated (12/19/2016):
Microsoft Edge has published the packaging documentation.
Previous:
If you're interested in deploying extensions to Windows Store, you could submit a request to https://aka.ms/extension-request to be considered for a future update.
For update page, Microsoft Edge Blog and Microsoft Edge Extensions Documentation may help.

Running old Metaio SDK iOS offline for demo purpose? MetaioLicenseString

I developed a Metaio Demo app last year, now i want to run the application again for some demo purposes.
Since Metaio was sold to apple last year, the SDK tells me that my license key has expired.
I learned from stack overflow, that the MetaioLicenseString is validated offline by the SDK.
Is there a way to make the SDK validate my old demo MetaioLicenseString by e.g setting back my system time?
So far, i did not have any luck with that approach. From the metaio dev portal i remember that i had to provide the app name,
the application ID, and the SDK Version. (See Screenshot [1]) So my assumption is, that the MetaioLicenseString is generated from these information + an expiration date.
Any clue how i could approach this in order to get my old app running (just offline for single demo purpose)
[1] https://my.metaio.com/helpdesk/upfiles/createkeyforappios_1.png
If you had a metaio account, contact metaio support at contact(at)metaio.com. (Yes, there is still someone, but just
till the end of april or beginning of june.)
Past year, before closing the dev portal, Metaio had released a license signature generator which could be downloaded from their portal , if you had a dev account.
So try writing them and kindly ask if they would help you.
But, I have to say that you will probably get warnings from the Google Play store , if you publish a metaio SDK app. Concerning SSL issues.
Good luck.

Resources