manolofdez / AsyncBluetooth

A small library that adds concurrency to CoreBluetooth APIs.
MIT License
160 stars 30 forks source link

Privacy manifest (PrivacyInfo.xcprivacy) missing #48

Closed andr3a88-amk closed 5 months ago

andr3a88-amk commented 5 months ago

Hi, Apple announced that, starting May 1, they would start enforcing that all new apps and updates must declare approved reasons for using specific APIs in a privacy manifest, preventing uploads to TestFlight if the requirement is not met.

These requirements also apply to 3rd party SDK's: Upcoming third-party SDK requirements:

Starting May 1: You’ll need to include approved reasons for the listed APIs used by your app’s code to upload a new or updated app to App Store Connect. If you’re not using an API for an allowed reason, please find an alternative. And if you add a new third-party SDK that’s on the list of commonly used third-party SDKs, these API, privacy manifest, and signature requirements will apply to that SDK. Make sure to use a version of the SDK that includes its privacy manifest and note that signatures are also required when the SDK is added as a binary dependency. This functionality is a step forward for all apps and we encourage all SDKs to adopt it to better support the apps that depend on them.

At this moment, since AsyncBluetooth is not included in the list of commonly used libraries, it is not necessary to include the PrivacyInfo.xcprivacy, but in the future it will be.

I suggest this utility that can help to create the manifest: iOS Privacy Manifest Maker.

Even if no data is collected from what I understand the manifest is mandatory and should be used the empty template:

<?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>NSPrivacyCollectedDataTypes</key>
    <array/>
    <key>NSPrivacyAccessedAPITypes</key>
    <array/>
</dict>
</plist>
manolofdez commented 5 months ago

Hi! Great suggestion!! I'll be pushing a PR with the manifest shortly.