4.2 L3VPN 模式必须的前置准备
L3VPN模式必须的前置准备
欢迎选择使用Sangfor VPN SDK的L3VPN模式,在这个文档中,会协助您完成使用L3VPN模式的一些前置准备。
在这个文档中,我们利用demo,来协助您完成描述文件的申请,这个过程约需要10~15分钟。
*(如果您还不太了解证书与描述文件的关系,可以先阅读)
⚠️在以下文档中
- 用 com.sangfor.customtest 来指代您App的bundleID(即假定您当前待集成的App BundleID为此ID)
- 主App指的是您开发的App
- 扩展指的是libs文件夹中的PacketTunnel.appex
申请具有 NetworkExtion 功能的AppID(描述文件)
为了使用L3VPN功能,需要使用扩展,扩展是Apple在iOS9之后推出的功能,用于增强App的功能,扩展在一定程度上独立于App运行,所以使用扩展,需要申请额外的描述文件
并且,使用 L3VPN功能时,⚠️在测试与发布时,都需要您的主AppID描述文件与扩展AppID描述文件,同时具备NetworkExtion 功能
~获取到您的Apple Devloper开发者账号,并登录Apple Devloper
登录https://developer.apple.com,并点击Account进行登录
可能您之前是使用的XCode自带的管理机制,建议您在集成SDK时,使用手工管理方式,同时申请PacketTunnl的描述文件一定需要登录Apple Devloper,如果您不知道这个账号,可以咨询贵司的iOS开发相关管理人员
~确保您的主App描述文件具备NetworkExtion 功能
- 首先点击进入您的AppID信息状态界面
如果您的AppID已经具备NetworkExtion功能,那么可以直接跳到为扩展申请额外的描述文件一节,否则请点击Eidt编辑AppID
进入后,可以在这里编辑AppID具有的各种功能,NetWorkExtion还在下面,请拖动一下,找到NetworkExtion,并确定开启此功能
开启功能,后别忘了还要保存修改,点击Done保存后,您的AppID就已经具备NetWorkExtion功能了!
(有时候点击Done后,页面没有自动跳转,此时可以多点几次Done,然后返回AppID功能查看界面,查看是否已经开启成功)
~为主App申请带有NetWorkExtion的描述文件
更新您的主AppID信息后,就可以用这个主AppID申请新的描述文件了(这里以申请测试描述文件为例,其他的如AppStore与企业发布描述文件,可以自行选择)
找到之前使用的主App描述文件(也就是您在上一步修改的AppID之前使用的描述文件)
(如果您找不到了,可以选择生成一份新的描述文件,并与刚才修改的AppID进行绑定)
点击后,准备重新生成描述文件
(再次注意这里修改的是测试描述文件,如果您需要发布到AppStore或进行企业发布,您需要选择对应的描述文件并重新生成)
可以保持原选项不动,直接点击生成,然后下载
此时您的这份主App描述文件就已经具备NetworkExtion功能了,在集成SDK L3VPN功能时,请您在XCode中使用这份描述文件进行配置
~为扩展申请额外的AppID
由于使用L3VPN模式时,扩展也需要AppID与描述文件,所以您还需要为扩展申请额外的AppID与描述文件,
- 选择App IDs选项后,点击右上角的 "+" 号,选择生成新的AppID
生成AppID的规则如下
首先,填写各种信息
然后,往下拖动,选择AppID具备的功能,注意要选择 NetworkExtensions,然后一路选择Done,Register
然后,就可以看到您将来会使用到的两个AppID了,一个是您之前App使用的AppID,一个是为了支持L3VPN而申请的新的AppID
~为扩展AppID申请描述文件
接下来为扩展的AppID生成描述文件
首先进入描述文件申请界面
⚠️此例中是申请的测试描述文件,如果您需要申请发布描述文件,请选择需要的选项
⚠️选择扩展的AppID(注意不要选错了)
一路continue,下载描述文件,建议取名字时建议以packettunnel结尾
到这里,您就完成了所有L3VPN模式集成前,需要的准备工作了:
- 一份签名p12(也就是之前您使用的签名)
- 一份具有NetworkExtion的主App描述文件(更新AppID,更新描述文件后获得)
- 一份具有NetworkExtion的扩展描述文件(申请新的AppID,生成描述文件后获得)
接下来,非常建议您在demo上使用您刚才申请的描述文件,实际运行下程序!请阅读 <如何使用L3VPN的demo>获取帮助。