Xcode编译选项设置
运行环境配置
- 支持系统iOS 9.X 及以上;
- SDK编译环境 Xcode 12.0及以上版本;
Other Linker Flags
打开Xcode-Build Setting找到“OtherLinker Flags”栏目,确保设置了配置:
- $(inherited)
- -ObjC
- -force_load
- 聚合Adapter插件库 eg:“-force_load $(PROJECT_DIR)/CloooudSDK/CloooudAdCsjAdapter_5.1.1.0.0/CloooudAdSDKAdapter.framework/CloooudAdSDKAdapter”
注意:所有的Adapter插件库都要配置-force_load项
依赖库配置
打开Xcode-Build Phases找到“Link Binary With Libraries”栏目,确保将以下库配置好。
聚合相关库
- CloooudSDK.framework
- CloooudAdSDKAdapter.framework
- CloooudAdAdmobAdapter.framework
- CloooudAdGdtAdapter.framework
- CloooudAdBaiduAdapter.framework
- CloooudAdUnityAdapter.framework
- CloooudAdSigmobAdapter.framework
- CloooudAdKlevinAdapter.framework
- CloooudAdMintegralAdapter.framework
- CloooudAdKsAdapter.framework
系统依赖库
- libz.tbd
- libc++.tbd
- libresolv.tbd
- CoreMotion.framework
- AdSupport.framework
依赖的三方广告SDK库
- eg:穿山甲:BUFoundation.framework + BUAdSDK.framework
- 其他
注意:其他第三方库请以其官方最新为准,参见[SDK接入-三方SDK说明]
cocopods导入
开发者可根据三方SDK版本说明部分,进行pod导入对应SDK。也可参考开发包目录下Podfile文件进行编写自己的podfile文件。
手动导入
开发者可根据接入的adapter选择对应的SDK包进行手动导入。手动导入务必勾选"Copy items if needed"。
导入后务必确保手动导入的SDK已经在Xcode-Build Phases-Link Binary With Libraries配置下:
注意:KSAdSDK 带有 x86_64, i386 架构。在打发布到 AppStore 的安装包时需要移除这两个架构(CocoaPods ⽅式接⼊会⾃动移除)。
穿山甲手动导入说明
- 穿山甲目前国内/海外分包,主要结构有:
- BUAdSDK.framework 功能库
- BUFoundation.framework 基础库
- BUCNAuxiliary.framework 国内支持库
- BUVAAuxiliary.framework 海外支持库
当使用SDK并手动集成穿山甲SDK时,请根据实际情况集成国内支持库BUCNAuxiliary或海外支持库BUVAAuxiliary。如果开发者两个库都集成到了Xcode工程,则需要在穿山甲个性化设置(需要写在聚合SDK初始化之前)做如下配置:
// 需在setAppID接口之前设置
[CloooudPersonaliseConfigAdapter configAdapterWithKey:@"pangle" andBlock:^{
[BUAdSDKManager setTerritory:BUAdSDKTerritory_CN];
}];
三方广告SDK依赖的其他系统库
eg:穿山甲BUAdSDK依赖的系统库有:
- Accelerate.framework
- AdSupport.framework
- AudioToolbox.framework
- AVFoundation.framework
- CoreGraphics.framework
- CoreImage.framework
- CoreLocation.framework
- CoreMedia.framework
- CoreMotion.framework
- CoreTelephony.framework
- CoreText.framework
- ImageIO.framework
- JavaScriptCore.framework
- MapKit.framework
- MediaPlayer.framework
- MobileCoreServices.framework
- QuartzCore.framework
- Security.framework
- StoreKit.framework
- SystemConfiguration.framework
- UIKit.framework
- WebKit.framework
- libbz2.
- tbdlibc++.
- tbdlibiconv.
- tbdlibresolv.9.
- tbdlibsqlite3.
- tbdlibxml2.
- tbdlibz.
- tbdlibc++abi.tbd
注意:其他第三方库请以其官方最新为准
bundle资源配置
打开Xcode-Build Phases找到“Copy Bundle Resources”栏目,确保聚合SDK和依赖的第三方SDK包含的bundle文件成功添加到该配置中。 eg:穿山甲bundle文件-CSJAdSDK.bundle