环境要求

在iOS Demo的编译运行过程中请满足如下环境要求。

表1 环境要求

环境和工具名称 版本要求 说明
Xcode 推荐Xcode13.3及以上版本 Demo及文档以Xcode13.3为例
iOS系统版本 iOS10.0及以上,64位设备(只支持真机) 推荐使用高版本系统

表2 项目配置要求

名称 要求 说明
Enable Bitcode NO 不支持编译代码优化
Valid Architectures arm64 支持CPU架构

基础配置

1.拷贝SDK到项目

SangforSDK.framework整体拷贝到项目内,可以参考如下: 在项目内找到SANGFOR目录,将SangforSDK.framework拷贝到SANGFOR目录内 image-20210325163357385

2.添加SDK到工程

应用工程内右键点击"Add Files to xxProject" 选择上面步骤拷贝到工程的SangforSDK.framework

添加到工程后,确认如下配置是否正常:

  • 确认Embedded项是否正常

    1. 如果没有SangforSDK.framework通过左下角"+"添加,并将Embed项设置为Embed & Sign image-20210325165215324

    2. 只有选择Embed & Sign才会在Build Phases项中生成文件拷贝项,如下: 注意: 目标目录是Frameworks image-20210325165411726

  • 确认链接是否正常

    Build Phases项,找到Link Binary With Libraries确认SangforSDK.framework是否正常链接,如果没有SangforSDK.framework,通过左下角"+"添加将其添加进来

    image-20210325164657305

  • 确认静态库/动态库都放在SDK前面

    应该将所有静态库/动态库放到SangforSDK.framework前面。当静态库/动态库中存在SangforSDK.framework中同样符号的情况下,如果SangforSDK.framework放在静态库/动态库之前,默认链接的时候会优先使用前面引入库的符号,而静态库/动态库中的符号不会链接到可执行文件中去,从而导致调用异常。 envronment_sdk_posision.png

3.设置编译选项

  • 关闭bitcodeBuild Settings项中设置

    ENABLE_BITCODE = NO
    

    image-20210325171153913

  • 设置架构

  • 如果使用的是Xcode12及以上版本,Valid Architectures选项已废弃,默认不需要做该选项配置,如果工程报错架构相关的问题,可以把这个User-define -> VALID_ARCHS删除 image-20210325171153913
  • Xcode12及以上版本,请按以下步骤操作 在Build Settings项中设置Valid Architecturesarm64,SDK不支持i386x86armv7架构 image-20210414215438886

4.权限说明

  1. SDK引流需要本地网络权限,需要在Info.plist中配置以下字段

    <key>NSLocalNetworkUsageDescription</key>
    <string>需要开启本地网络权限以保证应用可以正常连接网络</string>
    <key>NSBonjourServices</key>
    <array>
    <string>_lnp._tcp.</string>
    </array>
    
  2. 如果需要使用iOS的安全能力截屏审计/截屏阻断,就需要添加相册权限。 添加方式为修改Info.plist添加如下字段

    <key>NSPhotoLibraryUsageDescription</key>
    <string>截屏阻断需要相册权限</string>
    

results matching ""

    No results matching ""