I’ve seen this concern talked about in different posts, however I really feel like mine is completely different. A 12 months in the past, I launched an app utilizing Xamarin Kinds that used ZERO entitlements. I had no points getting the archive created and uploaded by way of Transporter.
This 12 months, with Xamarin Kinds’ sunsetted assist, I’ve migrated that very same app to .NET MAUI. It took a variety of effort to lastly get a workable IPA file uploaded by way of Transporter, solely Apple shot this message again:
We seen a number of points with a latest supply for the next app:
[my app's name]
Model 1.0.5
Construct 10
Please appropriate the next points and add a brand new binary to App Retailer Join.
ITMS-90683: Lacking function string in Data.plist - Your app’s code references a number of APIs that entry delicate person knowledge, or the app has a number of entitlements that let such entry. The Data.plist file for the “TapScore.app” bundle ought to include a NSCalendarsUsageDescription key with a user-facing function string explaining clearly and utterly why your app wants the information. Should you’re utilizing exterior libraries or SDKs, they might reference APIs that require a function string. Whereas your app won't use these APIs, a function string remains to be required. For particulars, go to: https://developer.apple.com/documentation/uikit/protecting_the_user_s_privacy/requesting_access_to_protected_resources.
And the paragraph above is repeated 4 further occasions for required function strings, and three further occasions for optionally available function strings.
So, I added a sequence of such function strings to the Entitlements.plist file, like this:
NSCalendarsUsageDescription
This app doesn't use calendar permissions. It solely information scores you enter, and once you begin or cease the timer.
NSContactsUsageDescription
This app doesn't use contact permissions. It solely information scores you enter, and once you begin or cease the timer.
NSMicrophoneUsageDescription
This app doesn't use microphone permissions. It solely information scores you enter, and once you begin or cease the timer.
NSAppleMusicUsageDescription
This app doesn't use Apple Music permissions. It solely information scores you enter, and once you begin or cease the timer.
...
With every new compilation, I obtained ONE message complaining a few specific function message on this format:
Asset validation failed (90045)
Invalid Code Signing Entitlements. Your utility bundle's signature incorporates code signing entitlements that aren't supported on iOS. Particularly, key '[some key beginning with "NS"]' in 'Payload/AppName.app/AppName' shouldn't be supported.
So I would take away the offending key and re-compile and re-archive, solely to have Transporter flag the NEXT message. It by no means did all of the offending messages unexpectedly. Large waste of my time.
Ultimately, I obtained to the purpose the place I eliminated all the aim strings, as I had earlier than. Solely then did Transporter obtain the IPA. However I will in all probability get one other message from Apple with the identical criticism as earlier than, so I wished to see if anybody else has had my expertise.
Once more – the app I am trying to submit shouldn’t be sophisticated – it has nothing. No community entry, no web, no database, no necessities for Siri or Apple Music – it’s about as vanilla an app as you will get. And it has been within the App Retailer earlier than (Apple de-listed it, saying it hadn’t modified sufficient over time).
Ought to I hold making an attempt or simply throw up my palms?