Countly / countly-sdk-ios

Countly Product Analytics iOS SDK with macOS, watchOS and tvOS support.
https://count.ly
MIT License
615 stars 243 forks source link

Added a privacy manifest #283

Closed ijunaid closed 7 months ago

mikaryyn commented 7 months ago

I'm looking at this as I'm fixing manifest warnings including one caused by Countly. Apologies in advance if I'm wrong, but I think this manifest doesn't follow Apple's guidelines. I'm referring to the documentation here:

NSPrivacyCollectedDataTypePurposes: this shouldn't contain arbitrary strings.

An array of strings that lists the reasons your app or third-party SDK collects the data. Choose values from the list of purposes below that match the reasons your app or third-party SDK collects this data type.

Xcode won’t generate a privacy report correctly if you define your own collected data types for the NSPrivacyCollectedDataType key, or provide your own reasons for the NSPrivacyCollectedDataTypePurposes key. Use values from the lists below.

  • NSPrivacyCollectedDataTypePurposeThirdPartyAdvertising
  • NSPrivacyCollectedDataTypePurposeDeveloperAdvertising
  • NSPrivacyCollectedDataTypePurposeAnalytics
  • NSPrivacyCollectedDataTypePurposeProductPersonalization
  • NSPrivacyCollectedDataTypePurposeAppFunctionality
  • NSPrivacyCollectedDataTypePurposeOther

NSPrivacyAccessedAPITypeReasons: Also arbitrary strings, like the descriptions in your manifest, seem not to be allowed based on my understanding. Only the predetermined categories in the docs are to be used.

An array of strings that identifies the reasons your app uses the APIs. The values you provide must be the values associated with the accessed API type in the sections below.

turtledreams commented 7 months ago

Hey @mikaryyn thank you for pointing this out. There were some wording in the documentation which mislead us to think we can provide both. But as you mentioned NSPrivacyCollectedDataTypePurposes were only arbitrary stings. We will create a new pr to fix.