base on AppsFlyer Apple SDK <p align="center"> <img src="https://raw.githubusercontent.com/AppsFlyerSDK/appsflyer-capacitor-plugin/main/assets/AFLogo_primary.png" width="450"> </p> # AppsFlyerFramework [![Version](https://img.shields.io/cocoapods/v/AppsFlyerFramework.svg?style=flat)](http://cocoapods.org/pods/AppsFlyerFramework) [![Carthage Compatible](https://img.shields.io/badge/Carthage-compatible-4BC51D.svg?style=flat)](https://github.com/Carthage/Carthage) [![SPM Compatible](https://img.shields.io/badge/SPM-compatible-brightgreen.svg)](https://swift.org/package-manager) # Table Of Contents 1. [Cocoapods](#pods) 1. [Swift Package Manager](#SPM) 1. [Carthage](#carthage) 1. [Integration](#integration) 1. [Support](#support) # [Cocoapods](#pods) In order to install `AppsFlyerLib` framework via Cocoapods, you should choose the binary version, that you require, add it to your `Podfile` and run `pod install/update`: ```ruby # For statically linked library pod 'AppsFlyerFramework' # For dynamically linked library pod 'AppsFlyerFramework/Dynamic' # For Strict (No IDFA colection) library pod 'AppsFlyerFramework/Strict' ``` For more reference on using Cocoapods, please click [here](https://guides.cocoapods.org/) # [Swift Package Manager](#SPM) 1. **Add a Swift Package File** - In your Xcode project, go to **File** > **Swift Packages** > **Add Package Dependency**. 3. **Enter Package Repository URL** - In the dialog that appears, enter the URL of the repository that hosts the AppsFlyerFramework package: ```ruby # For statically linked library https://github.com/AppsFlyerSDK/AppsFlyerFramework-Static # For dynamically linked library https://github.com/AppsFlyerSDK/AppsFlyerFramework-Dynamic # For Strict (No IDFA colection) library https://github.com/AppsFlyerSDK/AppsFlyerFramework-Strict ``` **Note:** Three separated repositories for SPM support versions `6.12.0` and higher. For versions lower than `6.12.0`, please, use our main `AppsFlyerFramework` repository URL. 4. **Select fetched package** 5. **Click on the **Next** button to proceed and choose the target, which should be using the dependency** 6. **Integrate Package** # [Carthage](#carthage) In order to fetch AppsFlyerLib artifacts using `Carthage`, please use binary-only method, described [here](https://github.com/Carthage/Carthage/blob/master/Documentation/Artifacts.md#cartfile). All necessary JSON files with links to the binary artifacts are located in `Carthage` folder in the root of the repository. # [Integration](#integration) In order to get instruction on how to integrate AppsFlyer iOS SDK please visit the following page - [iOS SDK](https://support.appsflyer.com/hc/en-us/articles/207032066-AppsFlyer-SDK-Integration-iOS). Release Notes can be found [here](https://support.appsflyer.com/hc/en-us/articles/115001224823#ios-sdk-v6-release-notes). # [Support](#support) In order for us to provide optimal support, we would kindly ask you to submit any issues to support@appsflyer.com When submitting an issue please specify your AppsFlyer sign-up (account) email , your app ID , reproduction steps, logs, code snippets and any additional relevant information. ", Assign "at most 3 tags" to the expected json: {"id":"5276","tags":[]} "only from the tags list I provide: [{"id":77,"name":"3d"},{"id":89,"name":"agent"},{"id":17,"name":"ai"},{"id":54,"name":"algorithm"},{"id":24,"name":"api"},{"id":44,"name":"authentication"},{"id":3,"name":"aws"},{"id":27,"name":"backend"},{"id":60,"name":"benchmark"},{"id":72,"name":"best-practices"},{"id":39,"name":"bitcoin"},{"id":37,"name":"blockchain"},{"id":1,"name":"blog"},{"id":45,"name":"bundler"},{"id":58,"name":"cache"},{"id":21,"name":"chat"},{"id":49,"name":"cicd"},{"id":4,"name":"cli"},{"id":64,"name":"cloud-native"},{"id":48,"name":"cms"},{"id":61,"name":"compiler"},{"id":68,"name":"containerization"},{"id":92,"name":"crm"},{"id":34,"name":"data"},{"id":47,"name":"database"},{"id":8,"name":"declarative-gui "},{"id":9,"name":"deploy-tool"},{"id":53,"name":"desktop-app"},{"id":6,"name":"dev-exp-lib"},{"id":59,"name":"dev-tool"},{"id":13,"name":"ecommerce"},{"id":26,"name":"editor"},{"id":66,"name":"emulator"},{"id":62,"name":"filesystem"},{"id":80,"name":"finance"},{"id":15,"name":"firmware"},{"id":73,"name":"for-fun"},{"id":2,"name":"framework"},{"id":11,"name":"frontend"},{"id":22,"name":"game"},{"id":81,"name":"game-engine "},{"id":23,"name":"graphql"},{"id":84,"name":"gui"},{"id":91,"name":"http"},{"id":5,"name":"http-client"},{"id":51,"name":"iac"},{"id":30,"name":"ide"},{"id":78,"name":"iot"},{"id":40,"name":"json"},{"id":83,"name":"julian"},{"id":38,"name":"k8s"},{"id":31,"name":"language"},{"id":10,"name":"learning-resource"},{"id":33,"name":"lib"},{"id":41,"name":"linter"},{"id":28,"name":"lms"},{"id":16,"name":"logging"},{"id":76,"name":"low-code"},{"id":90,"name":"message-queue"},{"id":42,"name":"mobile-app"},{"id":18,"name":"monitoring"},{"id":36,"name":"networking"},{"id":7,"name":"node-version"},{"id":55,"name":"nosql"},{"id":57,"name":"observability"},{"id":46,"name":"orm"},{"id":52,"name":"os"},{"id":14,"name":"parser"},{"id":74,"name":"react"},{"id":82,"name":"real-time"},{"id":56,"name":"robot"},{"id":65,"name":"runtime"},{"id":32,"name":"sdk"},{"id":71,"name":"search"},{"id":63,"name":"secrets"},{"id":25,"name":"security"},{"id":85,"name":"server"},{"id":86,"name":"serverless"},{"id":70,"name":"storage"},{"id":75,"name":"system-design"},{"id":79,"name":"terminal"},{"id":29,"name":"testing"},{"id":12,"name":"ui"},{"id":50,"name":"ux"},{"id":88,"name":"video"},{"id":20,"name":"web-app"},{"id":35,"name":"web-server"},{"id":43,"name":"webassembly"},{"id":69,"name":"workflow"},{"id":87,"name":"yaml"}]" returns me the "expected json"