Я по-прежнему получаю электронное письмо с предупреждением от Apple, когда отправляю свое приложение .NET MAUI iOS относительно отсутствующих объявлений API.
Я уже добавил файл PrivacyInfo.xcprivacy в папку «Платформы/iOS». Его действие сборки — BundleResource. Я также изменил файл проекта, включив в него соответствующую информацию о группе элементов.
В электронном письме содержатся те же отсутствующие объявления API, что и до того, как я добавил файл конфиденциальности: NSPrivacyAccessedAPICategoryDiskSpace, NSPrivacyAccessedAPICategoryFileTimestamp и NSPrivacyAccessedAPICategorySystemBootTime.
Вот мой файл PrivacyInfo.xcprivacy:
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<!-- See https://devblogs.microsoft.com/dotnet/apple-privacy-manifest-support/ -->
<plist version = "1.0">
<dict>
<key>NSPrivacyAccessedAPIType</key>
<string>NSPrivacyAccessedAPICategoryFileTimestamp</string>
<key>NSPrivacyAccessedAPITypeReasons</key>
<array>
<string>C617.1</string>
</array>
</dict>
<dict>
<key>NSPrivacyAccessedAPIType</key>
<string>NSPrivacyAccessedAPICategorySystemBootTime</string>
<key>NSPrivacyAccessedAPITypeReasons</key>
<array>
<string>35F9.1</string>
</array>
</dict>
<dict>
<key>NSPrivacyAccessedAPIType</key>
<string>NSPrivacyAccessedAPICategoryDiskSpace</string>
<key>NSPrivacyAccessedAPITypeReasons</key>
<array>
<string>E174.1</string>
</array>
</dict>
</plist>
Кто-нибудь знает, почему это происходит?
где ты смог это решить??
Вы можете обратиться к разделу Добавление поддержки манифеста конфиденциальности Apple в приложения .NET iOS и .NET MAUI. Пожалуйста, проверьте содержимое PrivacyInfo.xcprivacy
. Кажется, вы пропустили <key>NSPrivacyAccessedAPITypes</key>
.
@LiqunShen-MSFT Да! Спасибо, я должен был это заметить гораздо раньше. Я не сомневаюсь, что это сломает его, и я ожидаю, что это сработает для моей следующей работы.
Apple представляет политику конфиденциальности, позволяющую включать файлы манифеста конфиденциальности в новые и обновляемые приложения, предназначенные для платформ iOS, iPadOS и tvOS, в App Store.
Файл манифеста конфиденциальности представляет собой список свойств, в котором записаны типы данные, собранные вашим приложением или сторонним SDK, и необходимые причины API, которые использует ваше приложение или сторонний SDK.
Сначала добавьте PrivacyInfo.xcprivacy
как BundleResources
в папку Platforms/iOS
. (Убедитесь, что файл PrivacyInfo.xcprivacy не имеет расширения .xml.)
Затем добавьте необходимые записи в манифест конфиденциальности. Не пропустите ключ NSPrivacyAccessedAPITypes
.
<?xml version = "1.0" encoding = "UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version = "1.0">
<dict>
<key>NSPrivacyAccessedAPITypes</key>
<array>
<dict>
<key>NSPrivacyAccessedAPIType</key>
<string>NSPrivacyAccessedAPICategoryFileTimestamp</string>
<key>NSPrivacyAccessedAPITypeReasons</key>
<array>
<string>C617.1</string>
</array>
</dict>
<dict>
<key>NSPrivacyAccessedAPIType</key>
<string>NSPrivacyAccessedAPICategorySystemBootTime</string>
<key>NSPrivacyAccessedAPITypeReasons</key>
<array>
<string>35F9.1</string>
</array>
</dict>
<dict>
<key>NSPrivacyAccessedAPIType</key>
<string>NSPrivacyAccessedAPICategoryDiskSpace</string>
<key>NSPrivacyAccessedAPITypeReasons</key>
<array>
<string>E174.1</string>
</array>
</dict>
</array>
</dict>
</plist>
Вы также можете отредактировать файл проекта .NET MAUI, включив в него приведенный ниже раздел.
<ItemGroup Condition = "$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'ios'">
<BundleResource Include = "Platforms\iOS\PrivacyInfo.xcprivacy" LogicalName = "PrivacyInfo.xcprivacy" />
</ItemGroup>
Для получения дополнительной информации см.
Добавление поддержки манифеста конфиденциальности Apple в приложения .NET iOS и .NET MAUI,
Манифест конфиденциальности Apple.
Надеюсь, поможет!
Я уже удалил строку комментария из файла для следующей попытки, но понятия не имею, в этом ли проблема. Другие идеи приветствуются.