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>获取帮助。