В этом году, когда поддержка Xamarin Forms была прекращена, я перенес это же приложение на .NET MAUI. Потребовалось много усилий, чтобы наконец загрузить работоспособный IPA-файл через Transporter, но Apple ответила этим сообщением:
Код: Выделить всё
We noticed one or more issues with a recent delivery for the following app:
[my app's name]
Version 1.0.5
Build 10
Please correct the following issues and upload a new binary to App Store Connect.
ITMS-90683: Missing purpose string in Info.plist - Your app’s code references one or more APIs that access sensitive user data, or the app has one or more entitlements that permit such access. The Info.plist file for the “TapScore.app” bundle should contain a NSCalendarsUsageDescription key with a user-facing purpose string explaining clearly and completely why your app needs the data. 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. For details, visit: https://developer.apple.com/documentation/uikit/protecting_the_user_s_privacy/requesting_access_to_protected_resources.
Итак, я добавил ряд строк такого назначения в файл Entitlements.plist, например:
Код: Выделить всё
NSCalendarsUsageDescription
This app does not use calendar permissions. It only records scores you enter, and when you start or stop the timer.
NSContactsUsageDescription
This app does not use contact permissions. It only records scores you enter, and when you start or stop the timer.
NSMicrophoneUsageDescription
This app does not use microphone permissions. It only records scores you enter, and when you start or stop the timer.
NSAppleMusicUsageDescription
This app does not use Apple Music permissions. It only records scores you enter, and when you start or stop the timer.
...
Код: Выделить всё
Asset validation failed (90045)
Invalid Code Signing Entitlements. Your application bundle's signature contains code signing entitlements that are not supported on iOS. Specifically, key '[some key beginning with "NS"]' in 'Payload/AppName.app/AppName' is not supported.
В конце концов я дошел до того, что удалил все целевые строки, как и раньше. Только после этого Transporter получил IPA. Но я, вероятно, получу еще одно сообщение от Apple с той же жалобой, что и раньше, поэтому я хотел узнать, имел ли кто-нибудь еще мой опыт.
Опять же — приложение, которое я пытаюсь установить. submit не сложен — в нем нет ничего. Никакого доступа к сети, никакого Интернета, никакой базы данных, никаких требований к Siri или Apple Music — это самое простое приложение, которое вы можете получить. И оно уже было в App Store раньше (Apple исключила его из списка, заявив, что оно недостаточно изменилось с течением времени).
Следует ли мне продолжать попытки или просто опустить руки?
Подробнее здесь: https://stackoverflow.com/questions/792 ... info-plist