Reputation: 4666
I submitted a Xamarin Forms iOS application to the App Store, but received the following email:
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 NSContactsUsageDescription key with a user-facing purpose....
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 NSCalendarsUsageDescription key with a user-facing purpose...
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 NSMicrophoneUsageDescription key with a user-facing purpose...
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 NSAppleMusicUsageDescription key with a user-facing purpose
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 NSSiriUsageDescription key with a user-facing purpose
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 NSBluetoothAlwaysUsageDescription key with a user-facing purpose
However I'm not using any of the permissions mentioned above. My only Nuget references are
Acr.UserDialogs
Newtonsoft.Json
SharpZipLib
I added the missing strings to the info.plist and resubmitted the App. Didn't get the email but Apple still rejected it, asking for further information regarding how the app uses the requested permissions.
Any help is greatly appreciated!
Upvotes: 5
Views: 1790
Reputation: 187
Awesome! My Xamarin Forms IOS app was passing the Apple upload validation process but wasn't visible in testflight. I was scratching my head, I tried changing the Linker settings to "Link All" from "Don't Link" and that fixed the issue.. I had a gotten a email from apple saying that my app was missing several purpose strings in my info.plist file such as microphone and contacts etc just like the poster of this thread...
Upvotes: 0
Reputation: 4666
The issue was related to the "Mono Linker". A million thanks to @SushiHangover in the comments above for pointing it out.
If anyone is experiencing the same problem, simply go to the iOS project options and set the linker to "Link All" as shown below:
Upvotes: 7