集成L3VPN模式并使编译通过
- ⚠️如果您没有运行过demo,强烈建议您阅读 <如何使用L3VPN模式demo>,以了解描述文件是否正确,以及了解如何对PacketTunnel.appex重签名
~一些前置XCode配置
建议您选择手工方式管理描述文件(主要是让您确切的了解到当前使用的描述文件,以配合PackTunnel重签名)
在Capabilities选项卡中,开启NetworkExtion功能,如果开启后报错,那么说明您的描述文件不正确,请检查。
关闭bitcode功能,因为SDK不支持bitcode功能
Linker选项增加 "-ObjC",因为SDK中有OC的Category语法,只有添加该选项后,才能被正确加载
(注意是大小写严格的 / 注意这里不能添加 “all_load” 选项,将会导致符号冲突)
⚠️⚠️添加SDK需要的额外库 (这里一定要保证所有额外库都Link了,否则就会出现符号找不到的问题)
库包括
------------------- #需要额外导入的lib/framework NetworkExtention.framework MobileCoreService.framework CoreTelephony.framework SystemConfiguratiion.framwork AdSupport.framwork libresolv.8.tdb libsqlite3.0tdb libc++.tbd libxml2.tdb libicucore.tdb
~添加SDK到工程中
这一步将SDK集成到您的工程中
首先
libs.zip
解压,里面应该有如下文件
将这几个文件拷贝到您的工程下,您可以新建一个文件夹SangforSdk放置这些内容,然后在XCode中引入这些文件
检查下静态库是否已经导入
Embedded 扩展 PacketTunel
扩展需要在此处导入
导入后,再检查下Build Phases是否正确
~⚠️⚠️对PacketTunnel.appex进行重签名
注意此时PacketTunnel.appex的签名还是Sangfor的签名,需要您进行重新签名,签名的过程在文档<如何使用L3VPN的demo>中 <对PacketTunnel进行重签名> 一节,有详细说明
~尝试选择真机进行编译
选择真机或者Generic iOS Device进行编译并运行
(⚠️注意SDK是不支持模拟起的)
正常情况下,应该就可以编译通过了并且在真机上运行了,接下来就可以编写代码,将SDK用起来了,如果还遇到错误,请详细检查如上步骤、参考demo、或根据错误Google是不是通用XCode配置问题进行修改)