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.
-
Download the privacy manifest:
- Download the privacy manifest from this commit.
- Alternatively, download the framework from the MobilePush iOS SDK repository.
-
Expand the
MarketingCloudSDK.xcframework
folder and find folders for two architectures,ios-arm64_armv7_armv7s
andios-arm64_i386_x86_64-simulator
, as shown in the following image. -
Within each architecture folder, expand the
MarketingCloudSDK.framework
folder and copy thePrivacyInfo.xcprivacy
file. -
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
-
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.