添加隐私清单后,iOS 缺少 API 声明警告

问题描述 投票:0回答:1

当我提交 .NET MAUI iOS 应用程序时,我仍然收到来自 Apple 的关于缺少 API 声明的警告电子邮件。

我已经在我的 Platforms/iOS 文件夹中添加了 PrivacyInfo.xcprivacy 文件。它的构建操作是 BundleResource。我还修改了项目文件以包含相关的 ItemGroup 信息。

该电子邮件包含与我添加隐私文件之前完全相同的缺失 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>

有谁知道为什么会这样?

ios .net maui
1个回答
0
投票

Apple 正在推出一项隐私政策,将隐私清单文件包含在针对 App Store 上的 iOS、iPadOS 和 tvOS 平台的新应用程序和更新应用程序中。

隐私清单文件是一个属性列表,记录了隐私的类型 您的应用或第三方 SDK 收集的数据,以及所需的数据 您的应用或第三方 SDK 使用 API 的原因。

对于 .NET MAUI 应用程序

首先在

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>

更多信息请参考

向 .NET iOS 和 .NET MAUI 应用程序添加 Apple 隐私清单支持

Apple 隐私清单

希望有帮助!

© www.soinside.com 2019 - 2024. All rights reserved.