iOS Question Missing Purpose String in Info.plist

Stefano Di Chiano

Active Member
Licensed User
Hi,
I tried to upload the ipa file of my app via command line, and Apple sent me an email saying that there are two problems with it:
- ITMS-90683: Missing Purpose String in Info.plist - Your app's code references one or more APIs that access sensitive user data. The app's Info.plist file should contain a NSPhotoLibraryUsageDescription key with a user-facing purpose string explaining clearly and completely why your app needs the data. Starting Spring 2019, all apps submitted to the App Store that access user data are required to include a purpose string. If you're using external libraries or SDKs, they may reference APIs that require a purpose string. While your app might not use these APIs, a purpose string is still required.
- ITMS-90078: Missing Push Notification Entitlement - Your app appears to register with the Apple Push Notification service, but the app signature's entitlements do not include the 'aps-environment' entitlement. If your app uses the Apple Push Notification service, make sure your App ID is enabled for Push Notification in the Provisioning Portal, and resubmit after signing your app with a Distribution provisioning profile that includes the 'aps-environment' entitlement. Xcode does not automatically copy the aps-environment entitlement from provisioning profiles at build time. This behavior is intentional.

These are the libraries I'm using in the app:
librerie.png

And I don't know if you need it, but these are the Plist Extra lines that I had to add to my code:
B4X:
#PlistExtra: <key>NSAppTransportSecurity</key><dict><key>NSAllowsArbitraryLoads</key><false/>
#PlistExtra: <key>NSExceptionDomains</key><dict>
'list the excluded domains (example.com and b4x.com)
#PlistExtra: <key>uppeee.it</key><dict><key>NSIncludesSubdomains</key><true/><key>NSExceptionAllowsInsecureHTTPLoads</key><true/></dict>
'end of excluded domains
#PlistExtra: </dict>
#PlistExtra: </dict>
#PlistExtra:<key>NSCameraUsageDescription</key><string>Read barcodes</string>
#PlistExtra:<key>NSLocationWhenInUseUsageDescription</key><string>Used to display the current navigation data.</string>
#PlistExtra:<key>NSLocationUsageDescription</key><string>Used to display the current navigation data.</string>

If there is some useful information that I didn't provide, let me know.

So, how can I solve these two problems and get my build accepted?
 

Andrew (Digitwell)

Well-Known Member
Licensed User
Longtime User
Hi Stephano,
As the message says you are missing a plist for NSPhotoLibraryUsageDescription .

something like:
B4X:
#PlistExtra:<key>NSPhotoLibraryUsageDescription</key><string>Select a Photo from an album</string>



The second message about missing Push notification Entitlement is normal when your app does not use push notifications It can be safely ignored. I have submitted many apps with this message.

See also : https://www.b4x.com/android/forum/t...-notification-entitlement.125094/#post-781092
 
Upvote 0
Top