Heyzap / heyzap-cordova

Heyzap SDK for Apache Cordova
https://www.heyzap.com/
10 stars 18 forks source link

App rejected in Apple's appstore because of the missing info.plist.key #28

Closed rafaellop closed 7 years ago

rafaellop commented 7 years ago

I've seen in the Heyzap changelog for version 9.6.8 (https://developers.heyzap.com/docs/changelog) that the requirement of permissions description on iOS 10 like the NSPhotoLibraryUsageDescription or NSBluetoothPeripheralUsageDescription were removed. But today I switched to xcode 8 and built my app with the iOS the 10th SDK and my build has been rejected with the following:

Missing Info.plist key - This app attempts to access privacy-sensitive data without a usage description. The app's Info.plist must contain an NSPhotoLibraryUsageDescription key with a string value explaining to the user how the app uses this data.

Same about NSBluetoothPeripheralUsageDescription and NSCalendarsUsageDescription. I did a little research and the capabilities are required for sure by the extra packages. Definitely Admob and Applovin but maybe other too. Would be nice to have them removed. They are completely unnecessary for the ads to be shown and only intimidate users.

I really hope the cordova version will be fixed soon. It's truly so buggy and nothing cannot be done here because the SDK is a binary. Please update the issues or there will be no other way than to switch to a different solution for cordova ads.

billygerhard commented 7 years ago

I found this isn't related to Heyzap, and is common with many different ad providers. The APIs used by the ad providers for iOS require these fields to be filled. If you just add them to your info.plist with something like `NSCalendarsUsageDescription

Calendar API used by Ad Providers` it is then accepted by the app store.
rafaellop commented 7 years ago

Yes, it is accepted, but it's still a permission that is required even if it has nothing to do with the app functionality and may intimidate users about the app. I've seen a lot of apps trying to get for example contacts reading permission when their features are nothing about them. I deny and uninstall such. Same thing about other unexpected permission not related to the app purpose. They can make users suspicious and cause uninstallation. If a permission is not necessary it shouldn't be asked at all. I consider the calendar permission as totally not important and necessary to give to ad networks and thus it shouid be removed from the SDK.

ekilah commented 7 years ago

Like mentioned above, this is not the Heyzap SDK's requirement, but the requirement of other ad networks we support. There is nothing our SDK can do to prevent this.