Skip to main content

如何在unity中通过pod来配置SDK

一、在mac下配置好 cocoapods#

官网地址:https://cocoapods.org

二、在unity 项目中使用 PlayerServicesResolver#

PlayerServicesResolver 官方项目地址:https://github.com/googlesamples/unity-jar-resolver

在其项目仓库中可以方便的下载到 external-dependency-manager-latest.unitypackage。然后将其导入您的项目中。

三、通过工具自动转化配置#

由于PlayerServicesResolver中配置pod需要使用其特定的xml格式和普通的pod配置不同,所以我们这边提供了一个自动转化工具。 下载地址:https://github.com/tradplus/iOS_unity_pod_tool

如果有使用 Verve smaato Ogury 快手 百度的话 使用此工具时需要 关闭 PlayerServicesResolver 的 Always add the main target to Podfile 这个设置。

  • Assets > External Dependency Manager > iOS Resolver > Settings

  • 关闭 PlayerServicesResolver 的 Always add the main target to Podfile 这个设置。

使用方法#

  • 2.将配置添加到TPPods文件中

  • 3.将 TPPods,ParsePod.sh,TPPodSet.cs 放置在同一个目录中

  • 4.在Mac的终端中执行ParsePod.sh 这样就会自动生成并更新 TPPodsDependencies.xml 和 TPPodSet.cs的内容

  • 5.将TPPodsDependencies.xml 和 TPPodSet.cs 两个文件放置在unity项目中 Assets/ExternalDependencyManager/Editor 此文件夹下

另:如果没有使用 TPPodSet.cs 相关说明 中的相关广告源。 也不需要使用TPPodSet.cs内其他功能的时,只需要放入TPPodsDependencies.xml 就可以了。

这样当从unity项目导出xcode项目时就可以通过pod自动加载相关SDK。

TPPodSet.cs 相关说明#

  • TPPodSet.cs 中也包括 增加Info.plist内容 及 关闭bitcode 功能,请根据实际需求使用。

  • TPPodSet.cs 会处理 三方动态库的配置问题。

特殊源的说明:

1.百度 如果配置在UnityFramework 中会导致SDK无法找到百度的资源包

2.快手 三方SDK为动态库 无法直接配置在UnityFramework中

3.Verve 三方SDK库中有动态库无法直接配置在 UnityFramework中

4.Smaato 三方SDK库中有动态库无法直接配置在 UnityFramework中

5.Ogury 三方SDK库中有动态库无法直接配置在 UnityFramework中

6.Amazon 三方SDK库中有动态库无法直接配置在 UnityFramework中

7.快手海外 三方SDK库中有动态库无法直接配置在 UnityFramework中

7.Bigo v4.1.1之前版本 SDK库中有动态库无法直接配置在 UnityFramework中

8.Fyber v8.2.0-v8.2.7 三方SDK为动态库 无法直接配置在 UnityFramework中

9.Start.io v4.9.1 三方SDK为动态库 无法直接配置在 UnityFramework中

10.Maio v2.0及之后版本 三方SDK为动态库 无法直接配置在 UnityFramework中

11.Tapjoy v13.3.0及之后版本 三方SDK为动态库 无法直接配置在 UnityFramework中

12.AppLovin v12.4.1及之后版本 三方SDK为动态库 无法直接配置在 UnityFramework中

13.InMobi v10.7.2及之后版本 三方SDK为动态库 无法直接配置在 UnityFramework中