Privacy Manifest Support for Older iOS SDK Versions

Starting May 1, 2024, Apple mandates that all third-party frameworks include a privacy manifest. MobilePush SDK version 8.1.2 meets this requirement, featuring a signed framework and a privacy manifest file, and requires a deployment target of iOS 12 or later.

If your apps are using the older versions of the MobilePush iOS SDK, you can still include a privacy manifest in your implementation with a workaround. This workaround holds good as long as you're manually adding the SDKs as a dependency to your app. Manually adding dependencies is necessary as alternative SDK integration methods (using CocoaPods and SPM) involve updates to the frameworks and a subsequent push to the repository to include the updated SDK with the privacy manifest.

The following workaround applies only to MobilePush iOS SDK versions from 7.6.0 up to 8.1.1.

  1. Download the privacy manifest:

  2. Expand the MarketingCloudSDK.xcframework folder and find folders for two architectures, ios-arm64_armv7_armv7s and ios-arm64_i386_x86_64-simulator, as shown in the following image.

  3. Within each architecture folder, expand the MarketingCloudSDK.framework folder and copy the PrivacyInfo.xcprivacy file.

  4. In your SDK folder, paste the PrivacyInfo.xcprivacy file you copied for each architecture into the corresponding architecture folder.

    • ios-arm64_armv7_armv7s
    • ios-arm64_i386_x86_64-simulator
  5. Include the updated framework in your project.

MobilePush SDK for iOS versions 8.1.0 and 8.1.1 are code signed. Modifications to the signed SDK results in a signature mismatch error, causing Apple validation to fail. To prevent failed validations, delete the _CodeSignature folder from the MarketingCloudSDK.framework folder, add the SDK to your project, and mark it as Embed & Sign. Doing so ensures that the application owner re-signs the SDK, hence preventing any signature mismatch errors.