The Privacy manifest is not correctly bundled for the static library
scottlemke opened this issue · 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.
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.
Same issue here with SPM
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.
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
+1
Same issue on installing as static framework with Cocoapods. Podspec is missing resource bundle
Same issue here guys. Any ETA would be appreciated.
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.
Same issue on installing as dynamic framework with Cocoapods. not visible in privacy report
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 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.
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
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 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 :)
@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 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
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