AppsFlyerFramework icon indicating copy to clipboard operation
AppsFlyerFramework copied to clipboard

The Privacy manifest is not correctly bundled for the static library

Open scottlemke opened this issue 10 months ago • 18 comments

Report

When the static library is integrated for Appsflyer, the Privacy manifest is not getting bundled into the app.

SDK Version

6.14.0

What did you do?

Add the static library to the app using SPM. Do an archive build of the app. Generate a privacy report.

What did you expect to happen?

Appsflyer's details should appear in the privacy report.

What happened instead?

Appsflyer's details do not appear in the privacy report.

Please provide any other relevant information.

For static libraries, a bundle needs to be included that contains the Privacy manifest file. This is done by specifying the manifest as a resource in the package file.

scottlemke avatar Apr 08 '24 21:04 scottlemke

I am seeing this when integrating via SPM with Tuist. A standard SPM integration appears to be building a framework for Appsflyer with the Privacy manifest bundled into the framework and works correctly. I'm investigating workarounds for Tuist use.

scottlemke avatar Apr 08 '24 22:04 scottlemke

Same issue here with SPM

joeycarmello avatar Apr 09 '24 13:04 joeycarmello

My test project integrating via vanilla SPM appears to include the framework, but Tuist using the Static framework results in no Privacy manifest. In my experience with other SDKs, specifying the manifest to be included as a resource so a bundle is created and included into the app package is what is done as Apple describes in their documentation.

scottlemke avatar Apr 09 '24 15:04 scottlemke

I'm having the same issue when adding the library with Cocoapods. All other libraries privacy manifest data is included in the privacy report generated by the Xcode archiver but AppsFlyer's manifest data is not included in that report. I can confirm that the manifest file is in the AppsFlyer's framework folder, it's just not being included in the bundle.

SDK version: 6.14.0

aguiar-bruno avatar Apr 12 '24 14:04 aguiar-bruno

+1

leontedev avatar Apr 12 '24 14:04 leontedev

Same issue on installing as static framework with Cocoapods. Podspec is missing resource bundle

gaurav-gupta7 avatar Apr 14 '24 16:04 gaurav-gupta7

Same issue here guys. Any ETA would be appreciated.

FernandoReynoso avatar Apr 17 '24 19:04 FernandoReynoso

We are also see the same issue here. And there is a date for apple in next two weeks that might get issues if there is no fix.

AlexGarciaPinzon avatar Apr 17 '24 22:04 AlexGarciaPinzon

Same issue on installing as dynamic framework with Cocoapods. not visible in privacy report

bonyadmitr avatar Apr 18 '24 09:04 bonyadmitr

Hi, everybody, we have prepared to the April regulations update mentioned here. Right now, if I build and archive an application with Xcode 15.3 with 6.14.1 version of the SDK, it propperly generates the Privacy report

af-obodovskyi avatar Apr 19 '24 10:04 af-obodovskyi

@af-obodovskyi how did you integrate the library? I've confirmed that when you add the AppsFlyerSDK to an Xcode project and select 'Embed & Sign', it works correctly. However, when you choose 'Do not Embed' (since it's a static framework), it doesn't generate the privacy report.

Xcode 15 introduced some changes for static framework support, as detailed here.

orbitekk avatar Apr 19 '24 11:04 orbitekk

I just checked the integration through cocoapods. After integrating the static AppsFlyer library, the report generation does not work properly. After integrating the dynamic AppsFlyer library, the report generation works fine.

@bonyadmitr are you sure that you integrate dynamic framework (AppsFlyerFramework/Dynamic)?

orbitekk avatar Apr 19 '24 12:04 orbitekk

@orbitekk checked for with Xcode 15.3 with 6.14.1 version of the SDK, cocoapods 1.15.2. there is no AppsFlyer framework under Device ID section of privacy report.

use_frameworks! # :linkage => :static
...
pod 'AppsFlyerFramework', '6.14.1'

static is not used.

what do you mean AppsFlyerFramework/Dynamic? is there special version of Dynamic SDK?

bonyadmitr avatar Apr 19 '24 12:04 bonyadmitr

@bonyadmitr Yes. AppsFlyer library is precompiled and distributed as a binary framework. Check AppsFlyerFramework.podspec

pod 'AppsFlyerFramework' -> static framework (Main subspec) pod 'AppsFlyerFramework/Dynamic' -> dynamic framework (Dynamic subspec)

Edit: :linkage doesn't work with precompiled binaries :)

orbitekk avatar Apr 19 '24 12:04 orbitekk

@af-obodovskyi I've integrated version 6.14.1 through SPM (Xcode 15.3) and unfortunately AppsFlyer is still missing from the privacy report. I tried AppsFlyerFramework-Strict, AppsFlyerFramework-Static and AppsFlyerFramework-Dynamic.

opera-ddrechny avatar Apr 19 '24 12:04 opera-ddrechny

CocoaPods/CocoaPods#12357

orbitekk avatar Apr 19 '24 18:04 orbitekk

@opera-ddrechny It works for me. I've integrated version 6.14.1 and 6.14.2 through SPM. Both, static and dynamic, generates privacy report correctly. The only issue I found is integrating static framework through CocoaPods

orbitekk avatar Apr 19 '24 20:04 orbitekk

Thank you @orbitekk, it indeed does work... but only when AppsFlyerLib is added to the app target. It doesn't work it's added to a framework which is embedded in the app target. Strangely, this problem is not present for Firebase.

@af-obodovskyi Here's a project which demonstrates this problem: https://github.com/opera-ddrechny/appsflyer-privacy-report

opera-ddrechny avatar Apr 22 '24 15:04 opera-ddrechny