Over the weekend, we received reports that applications which included our iOS library were being rejected by Apple’s App Store. Apple indicated in their rejection notices that apps that did not actually display advertisements would not be allowed to access the Identifier For Advertisers (IFA).
Our iOS library had been using the IFA as the default identifier for users of your apps. So any app that does not display advertisements, but does have Mixpanel, was at risk of being rejected. Though there has been an override option in previous versions to avoid using the IFA, today we released a new version of our library that changes the default behavior.
Starting with this version (2.3.1), Mixpanel will now intelligently choose the appropriate identifier. If the library detects that the host application is using the AdSupport.framework it will continue to use IFA as the identifier. For apps that do not serve ads and do not have the AdSupport.framework included, Mixpanel will default to using the identifierForVendor (IFV) as the distinct_id.
If you do not serve ads in your app, you should upgrade to our latest iOS library as part of your next app update to avoid a potential rejection by the App Store.
You can access v2.3.1 or a more recent version here: http://github.com/mixpanel/mixpanel-iphone/releases or through CocoaPods.
Important note: To avoid potential rejection, developers of applications that do not serve ads should check other 3rd party packages for inclusion of AdSupport.framework, since this will cause the Mixpanel SDK to default to the use of IFA.
Finally, this change from IFA to IFV should not otherwise have any impact on your analytics and reporting. Developers should include it in new releases, but anonymous tracking and identity management will remain unchanged. New users will simply have an ID of an alternate form.
Please reach out to email@example.com with any questions.