环境要求
在iOS Demo的编译运行过程中请满足如下环境要求。
表1 环境要求
环境和工具名称 | 版本要求 | 说明 |
---|---|---|
Xcode | 推荐Xcode13.3及以上版本 | Demo及文档以Xcode13.3为例 |
SDK接口的开发语言 | objective-c | |
iOS系统版本 | iOS10.0及以上,64位设备(只支持真机) | 推荐使用高版本系统 |
表2 项目配置要求
名称 | 要求 | 说明 |
---|---|---|
Enable Bitcode | NO | 不支持编译代码优化 |
Valid Architectures | arm64 | 支持CPU架构 |
基础配置
1.拷贝SDK到项目
将SangforSDK.framework
整体拷贝到项目内,可以参考如下:
在项目内找到SANGFOR
目录,将SangforSDK.framework
拷贝到SANGFOR
目录内
2.添加SDK到工程
应用工程内右键点击"Add Files to xxProject" 选择上面步骤拷贝到工程的SangforSDK.framework
添加到工程后,确认如下配置是否正常:
确认Embedded项是否正常
如果没有
SangforSDK.framework
通过左下角"+"添加,并将Embed项设置为Embed & Sign只有选择Embed & Sign才会在Build Phases项中生成文件拷贝项,如下: 注意: 目标目录是
Frameworks
确认链接是否正常
在Build Phases项,找到Link Binary With Libraries确认
SangforSDK.framework
是否正常链接,如果没有SangforSDK.framework
,通过左下角"+"添加将其添加进来确认静态库/动态库都放在SDK前面
应该将所有静态库/动态库放到SangforSDK.framework前面。当静态库/动态库中存在SangforSDK.framework中同样符号的情况下,如果SangforSDK.framework放在静态库/动态库之前,默认链接的时候会优先使用前面引入库的符号,而静态库/动态库中的符号不会链接到可执行文件中去,从而导致调用异常。
3.设置编译选项
关闭bitcode 在Build Settings项中设置
ENABLE_BITCODE = NO
设置架构
- 如果使用的是
Xcode12
及以上版本,Valid Architectures
选项已废弃,默认不需要做该选项配置,如果工程报错架构相关的问题,可以把这个User-define -> VALID_ARCHS删除 - 非
Xcode12
及以上版本,请按以下步骤操作 在Build Settings项中设置Valid Architectures
为arm64,SDK不支持i386 、 x86 和armv7架构
4.权限说明
SDK引流需要本地网络权限,需要在Info.plist中配置以下字段
<key>NSLocalNetworkUsageDescription</key> <string>需要开启本地网络权限以保证应用可以正常连接网络</string> <key>NSBonjourServices</key> <array> <string>_lnp._tcp.</string> </array>
如果需要使用iOS的安全能力截屏审计/截屏阻断,就需要添加相册权限。 添加方式为修改Info.plist添加如下字段
<key>NSPhotoLibraryUsageDescription</key> <string>截屏阻断需要相册权限</string>