Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

The Privacy manifest is not correctly bundled for the static library #281

Open
scottlemke opened this issue Apr 8, 2024 · 18 comments
Open

Comments

@scottlemke
Copy link

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
Copy link
Author

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.

@joeycarmello
Copy link

Same issue here with SPM

@scottlemke
Copy link
Author

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.

@aguiar-bruno
Copy link

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

@leontedev
Copy link

+1

@gaurav-gupta7
Copy link

gaurav-gupta7 commented Apr 14, 2024

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

@FernandoReynoso
Copy link

Same issue here guys. Any ETA would be appreciated.

@AlexGarciaPinzon
Copy link

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.

@bonyadmitr
Copy link

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

@af-obodovskyi
Copy link
Contributor

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

@orbitekk
Copy link

@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
Copy link

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)?

@bonyadmitr
Copy link

@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?

@orbitekk
Copy link

orbitekk commented Apr 19, 2024

@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 :)

@opera-ddrechny
Copy link

@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.

@orbitekk
Copy link

@orbitekk
Copy link

@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

@opera-ddrechny
Copy link

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests