AppsFlyerSDK / AppsFlyerFramework

AppsFlyer Apple SDK
https://support.appsflyer.com/hc/en-us/articles/207032066-AppsFlyer-SDK-Integration-iOS
Other
163 stars 90 forks source link

Swift Package resolve large repository #285

Closed Ernest0-Production closed 2 months ago

Ernest0-Production commented 2 months ago

When connecting the library via SPM, AppsFlyer takes a very long time to download. This is because SPM uses not a shallow clone, but a full cloning of git history. I don't know the peculiarities of your repository, but it weighs unreasonably much. In my case, it's ~700MB.

image

I'm not an expert in git, but perhaps its size can somehow be reduced, or a new git repository can be created.

Report

SDK Version

-

What did you do?

swift package resolve

What did you expect to happen?

Fast resolving

What happened instead?

Long-time resolving, large "./build/repositories/AppsFlyerFramework" folder

Please provide any other relevant information.

-

iharkatkavets commented 2 months ago

There are 2 new repositories appeared:

 # For statically linked library
 https://github.com/AppsFlyerSDK/AppsFlyerFramework-Static

 # For dynamically linked library
 https://github.com/AppsFlyerSDK/AppsFlyerFramework-Dynamic

I just checked that Dynamic lib eats at most 80KB of space!

image image

Try it by yourself but keep in mind that static version has issue related with PrivacyManifest at the moment.

iharkatkavets commented 2 months ago

Forgot to check artifacts folder, it is of size 6.8Mb

image
Ernest0-Production commented 2 months ago

Thanks for the quick decision! I'll check it out.

Although it seems to me that dividing repositories into static and dynamic was redundant 🤔 You could just create two products in Package.swift

Ernest0-Production commented 2 months ago

UPD: https://github.com/AppsFlyerSDK/AppsFlyerFramework-Dynamic/issues/1

It looks like there is a very critical problem in the dynamic library repository

af-obodovskyi commented 2 months ago

@Ernest0-Production please, check with build v6.14.1, the issue is fixed