笔者开发环境为xcode 12.5.1,使用语言SwiftUI,Deyployment Info设置为14.1,也就是没有Appdelegate文件的swiftui版本。
项目中由于要使用穿山甲(Bytedance-UnionAD)广告模块,在google上搜寻很久,都是objective-c的demo。综合众多文章和实践,最终调用成功,在此与各位分享。
假设您已经建好了一个SwiftUI的默认工程
一、在工程中添加Bytedance-Union
github地址: https://github.com/bytedance/Bytedance-UnionAD
目前最新版只支持pod方式安装,安装说明在github上有描述。
pod install安装时很考验网络和vpn,如果总是失败,可以尝试更换vpn或者使用国内的代理。
二、针对IOS 14的特殊设置
穿山甲官方文档地址:https://www.pangle.cn/support/doc/5fc4f25f7b550100157c01d0
下面开始按照官方文档一步步设置环境。
1、设置SKAdNetwork参数
在你的工程路径下找到 Info.plist 文件,或是在XCode工程中右键点击 Info.plist,选择 Show in Finder。右键点击 Info.plist 文件,选择打开方式—其他,选择一个可以编辑文本的应用,默认可以选择 文本编辑.app
打开后,将下面代码添加到plist文件中。
注意 // 的部分可以删除
这段代码是添加SKAdNetwork的设置。
注:SKAdNetwork(SKAN) 是 Apple 的归因解决方案,可帮助广告客户在保持用户隐私的同时衡量广告活动。 使用 Apple 的 SKAdNetwork 后,即使 IDFA 不可用,广告网络也可以正确获得应用安装的归因结果。 这也是穿山甲强制要求的
2、设置App Tracking Transparency权限
继续在Info.plist中添加如下代码
<key>N