Я разработал приложение MAUI, которым я очень доволен, но в последнюю минуту обнаружил серьезный дефект в iOS.
Первоначальная версия приложения была опубликована через Xcode, и было создано 5 ошибок и 2 предупреждения. Это:
Ошибки
90683: в Info.plist отсутствует целевая строка. Код вашего приложения ссылается на один или несколько API, которые получают доступ к конфиденциальным данным пользователя, или приложение имеет одно или несколько прав, разрешающих такой доступ. Файл Info.plist для пакета «_.app» должен содержать ключ NAppleMusicUsageDescription со строкой назначения, ориентированной на пользователя, четко и полностью объясняющей, почему вашему приложению нужны данные. Если вы используете внешние библиотеки или SDK, они могут ссылаться на API, которым требуется целевая строка. Хотя ваше приложение может не использовать эти API, строка назначения все равно потребуется. Подробности см. на странице https://developer.apple.com/documentati ... _resources.
90683: в Info.plist отсутствует строка назначения. Код вашего приложения ссылается на один или несколько API, которые получают доступ к конфиденциальным данным пользователя, или приложение имеет одно или несколько прав, разрешающих такой доступ. Файл Info.plist для пакета «_.app» должен содержать ключ NSMicrophoneUsageDescription со строкой назначения, ориентированной на пользователя, четко и полностью объясняющей, почему вашему приложению нужны данные. Если вы используете внешние библиотеки или SDK, они могут ссылаться на API, которым требуется целевая строка. Хотя ваше приложение может не использовать эти API, строка назначения все равно потребуется. Подробности см. на странице https://developer.apple.com/documentati ... _resources.
90683: в Info.plist отсутствует строка назначения. Код вашего приложения ссылается на один или несколько API, которые получают доступ к конфиденциальным данным пользователя, или приложение имеет одно или несколько прав, разрешающих такой доступ. Файл Info.plist для пакета «_.app» должен содержать ключ NSContactsUsageDescription со строкой назначения, ориентированной на пользователя, четко и полностью объясняющей, почему вашему приложению нужны данные. Если вы используете внешние библиотеки или SDK, они могут ссылаться на API, которым требуется целевая строка. Хотя ваше приложение может не использовать эти API, строка назначения все равно потребуется. Подробности см. на странице https://developer.apple.com/documentati ... _resources.
90683: в Info.plist отсутствует строка назначения. Код вашего приложения ссылается на один или несколько API, которые получают доступ к конфиденциальным данным пользователя, или приложение имеет одно или несколько прав, разрешающих такой доступ. Файл Info.plist для пакета «_.app» должен содержать ключ NSCalendarsUsageDescription со строкой назначения, ориентированной на пользователя, четко и полностью объясняющей, почему вашему приложению нужны данные. Если вы используете внешние библиотеки или SDK, они могут ссылаться на API, которым требуется целевая строка. Хотя ваше приложение может не использовать эти API, строка назначения все равно потребуется. Подробности см. на странице https://developer.apple.com/documentati ... _resources.
90683: в Info.plist отсутствует строка назначения. Код вашего приложения ссылается на один или несколько API, которые получают доступ к конфиденциальным данным пользователя, или приложение имеет одно или несколько прав, разрешающих такой доступ. Файл Info.plist для пакета «_.app» должен содержать ключ NSSiriUsageDescription со строкой назначения, ориентированной на пользователя, четко и полностью объясняющей, почему вашему приложению нужны данные. Если вы используете внешние библиотеки или SDK, они могут ссылаться на API, которым требуется целевая строка. Хотя ваше приложение может не использовать эти API, строка назначения все равно потребуется. Подробности см. на странице https://developer.apple.com/documentati ... _resources.
Предупреждения
90683: в Info.plist отсутствует строка назначения. Код вашего приложения ссылается на один или несколько API, которые получают доступ к конфиденциальным данным пользователя, или приложение имеет одно или несколько прав, разрешающих такой доступ. Файл Info.plist для пакета «_.app» должен содержать ключ NSBluetoothAlwaysUsageDescription со строкой назначения, ориентированной на пользователя, четко и полностью объясняющей, почему вашему приложению нужны данные. Если вы используете внешние библиотеки или SDK, они могут ссылаться на API, которым требуется целевая строка. Хотя ваше приложение может не использовать эти API, строка назначения все равно потребуется. Подробности см. на странице https://developer.apple.com/documentati ... _resources.
90683: в Info.plist отсутствует строка назначения. Код вашего приложения ссылается на один или несколько API, которые получают доступ к конфиденциальным данным пользователя, или приложение имеет одно или несколько прав, разрешающих такой доступ. Файл Info.plist для пакета «_.app» должен содержать ключ NSLocationAlwaysAndWhenInUseUsageDescription со строкой назначения, ориентированной на пользователя, четко и полностью объясняющей, почему вашему приложению нужны данные. Если вы используете внешние библиотеки или SDK, они могут ссылаться на API, которым требуется целевая строка. Хотя ваше приложение может не использовать эти API, строка назначения все равно потребуется. Для получения подробной информации посетите: https://developer.apple.com/documentati ... _resources.
Я был очень удивлен, поскольку мой код просто не имеет доступа к Apple Music, микрофонам устройств, контактам, календарям, Siri, Bluetooth или постоянному местоположению. Это поколение могло быть вызвано только ссылочными библиотеками. Итак, чтобы исправить это, я переключил «Поведение компоновщика» на «Только SDK». Проблема была решена, ошибки и предупреждения исчезли.
К сожалению, если для параметра «Поведение компоновщика» установлено значение «Только SDK», приложение не будет работать на iOS (если только оно не запускается из Visual Studio с подключенным отладчиком). Симптом — черный экран, отображаемый сразу после экрана-заставки.
Если для параметра "Поведение компоновщика" установлено значение "Связать все", приложение закрывается сразу после экрана-заставки. (Отладчик жалуется на отсутствие конструктора в десериализуемом типе.)
Если для параметра «Поведение компоновщика» установлено значение «Не связывать», я получаю список ошибок и предупреждений. Я мог бы ввести значения в файл Info.plist, но чувствую, что введу пользователей в заблуждение, и это не поможет.
Итак, я хотел бы попытаться найти решение проблемы черного экрана, отображаемого сразу после заставки. Я пробовал добавлять атрибуты RequiresUnreferencedCode в соответствующих местах и атрибуты DynamicallyAccessedMembers к десериализуемым типам, но это не имело никакого значения.
Есть ли у кого-нибудь идеи, как это исправить?
Ваша помощь очень признательна.
Подробнее здесь: https://stackoverflow.com/questions/798 ... -sdks-only
Черный экран MAUI на iOS, когда для параметра «Поведение компоновщика» установлено значение «Только SDK» ⇐ IOS
Программируем под IOS
1770152357
Anonymous
Я разработал приложение MAUI, которым я очень доволен, но в последнюю минуту обнаружил серьезный дефект в iOS.
Первоначальная версия приложения была опубликована через Xcode, и было создано 5 ошибок и 2 предупреждения. Это:
Ошибки
90683: в Info.plist отсутствует целевая строка. Код вашего приложения ссылается на один или несколько API, которые получают доступ к конфиденциальным данным пользователя, или приложение имеет одно или несколько прав, разрешающих такой доступ. Файл Info.plist для пакета «_.app» должен содержать ключ NAppleMusicUsageDescription со строкой назначения, ориентированной на пользователя, четко и полностью объясняющей, почему вашему приложению нужны данные. Если вы используете внешние библиотеки или SDK, они могут ссылаться на API, которым требуется целевая строка. Хотя ваше приложение может не использовать эти API, строка назначения все равно потребуется. Подробности см. на странице https://developer.apple.com/documentation/uikit/protecting_the_user_s_privacy/requesting_access_to_protected_resources.
90683: в Info.plist отсутствует строка назначения. Код вашего приложения ссылается на один или несколько API, которые получают доступ к конфиденциальным данным пользователя, или приложение имеет одно или несколько прав, разрешающих такой доступ. Файл Info.plist для пакета «_.app» должен содержать ключ NSMicrophoneUsageDescription со строкой назначения, ориентированной на пользователя, четко и полностью объясняющей, почему вашему приложению нужны данные. Если вы используете внешние библиотеки или SDK, они могут ссылаться на API, которым требуется целевая строка. Хотя ваше приложение может не использовать эти API, строка назначения все равно потребуется. Подробности см. на странице https://developer.apple.com/documentation/uikit/protecting_the_user_s_privacy/requesting_access_to_protected_resources.
90683: в Info.plist отсутствует строка назначения. Код вашего приложения ссылается на один или несколько API, которые получают доступ к конфиденциальным данным пользователя, или приложение имеет одно или несколько прав, разрешающих такой доступ. Файл Info.plist для пакета «_.app» должен содержать ключ NSContactsUsageDescription со строкой назначения, ориентированной на пользователя, четко и полностью объясняющей, почему вашему приложению нужны данные. Если вы используете внешние библиотеки или SDK, они могут ссылаться на API, которым требуется целевая строка. Хотя ваше приложение может не использовать эти API, строка назначения все равно потребуется. Подробности см. на странице https://developer.apple.com/documentation/uikit/protecting_the_user_s_privacy/requesting_access_to_protected_resources.
90683: в Info.plist отсутствует строка назначения. Код вашего приложения ссылается на один или несколько API, которые получают доступ к конфиденциальным данным пользователя, или приложение имеет одно или несколько прав, разрешающих такой доступ. Файл Info.plist для пакета «_.app» должен содержать ключ NSCalendarsUsageDescription со строкой назначения, ориентированной на пользователя, четко и полностью объясняющей, почему вашему приложению нужны данные. Если вы используете внешние библиотеки или SDK, они могут ссылаться на API, которым требуется целевая строка. Хотя ваше приложение может не использовать эти API, строка назначения все равно потребуется. Подробности см. на странице https://developer.apple.com/documentation/uikit/protecting_the_user_s_privacy/requesting_access_to_protected_resources.
90683: в Info.plist отсутствует строка назначения. Код вашего приложения ссылается на один или несколько API, которые получают доступ к конфиденциальным данным пользователя, или приложение имеет одно или несколько прав, разрешающих такой доступ. Файл Info.plist для пакета «_.app» должен содержать ключ NSSiriUsageDescription со строкой назначения, ориентированной на пользователя, четко и полностью объясняющей, почему вашему приложению нужны данные. Если вы используете внешние библиотеки или SDK, они могут ссылаться на API, которым требуется целевая строка. Хотя ваше приложение может не использовать эти API, строка назначения все равно потребуется. Подробности см. на странице https://developer.apple.com/documentation/uikit/protecting_the_user_s_privacy/requesting_access_to_protected_resources.
Предупреждения
90683: в Info.plist отсутствует строка назначения. Код вашего приложения ссылается на один или несколько API, которые получают доступ к конфиденциальным данным пользователя, или приложение имеет одно или несколько прав, разрешающих такой доступ. Файл Info.plist для пакета «_.app» должен содержать ключ NSBluetoothAlwaysUsageDescription со строкой назначения, ориентированной на пользователя, четко и полностью объясняющей, почему вашему приложению нужны данные. Если вы используете внешние библиотеки или SDK, они могут ссылаться на API, которым требуется целевая строка. Хотя ваше приложение может не использовать эти API, строка назначения все равно потребуется. Подробности см. на странице https://developer.apple.com/documentation/uikit/protecting_the_user_s_privacy/requesting_access_to_protected_resources.
90683: в Info.plist отсутствует строка назначения. Код вашего приложения ссылается на один или несколько API, которые получают доступ к конфиденциальным данным пользователя, или приложение имеет одно или несколько прав, разрешающих такой доступ. Файл Info.plist для пакета «_.app» должен содержать ключ NSLocationAlwaysAndWhenInUseUsageDescription со строкой назначения, ориентированной на пользователя, четко и полностью объясняющей, почему вашему приложению нужны данные. Если вы используете внешние библиотеки или SDK, они могут ссылаться на API, которым требуется целевая строка. Хотя ваше приложение может не использовать эти API, строка назначения все равно потребуется. Для получения подробной информации посетите: https://developer.apple.com/documentation/uikit/protecting_the_user_s_privacy/requesting_access_to_protected_resources.
Я был очень удивлен, поскольку мой код просто не имеет доступа к Apple Music, микрофонам устройств, контактам, календарям, Siri, Bluetooth или постоянному местоположению. Это поколение могло быть вызвано только ссылочными библиотеками. Итак, чтобы исправить это, я переключил «Поведение компоновщика» на «Только SDK». Проблема была решена, ошибки и предупреждения исчезли.
К сожалению, если для параметра «Поведение компоновщика» установлено значение «Только SDK», приложение не будет работать на iOS (если только оно не запускается из Visual Studio с подключенным отладчиком). Симптом — черный экран, отображаемый сразу после экрана-заставки.
Если для параметра "Поведение компоновщика" установлено значение "Связать все", приложение закрывается сразу после экрана-заставки. (Отладчик жалуется на отсутствие конструктора в десериализуемом типе.)
Если для параметра «Поведение компоновщика» установлено значение «Не связывать», я получаю список ошибок и предупреждений. Я мог бы ввести значения в файл Info.plist, но чувствую, что введу пользователей в заблуждение, и это не поможет.
Итак, я хотел бы попытаться найти решение проблемы черного экрана, отображаемого сразу после заставки. Я пробовал добавлять атрибуты RequiresUnreferencedCode в соответствующих местах и атрибуты DynamicallyAccessedMembers к десериализуемым типам, но это не имело никакого значения.
Есть ли у кого-нибудь идеи, как это исправить?
Ваша помощь очень признательна.
Подробнее здесь: [url]https://stackoverflow.com/questions/79882260/maui-black-screen-on-ios-when-linker-behaviour-set-to-sdks-only[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия