# OpenVPNPlugins **Repository Path**: tyousan_admin/OpenVPNPlugins ## Basic Information - **Project Name**: OpenVPNPlugins - **Description**: OpenVPN的iOS配套扩展插件 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 2 - **Created**: 2023-10-26 - **Last Updated**: 2025-02-10 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # OpenVPNPlugins #### 介绍 OpenVPN的iOS配套扩展插件(含用友和DCloud平台配套插件使用说明) ## 重要 苹果上架遇见4.3问题,可能需要你自己制作appex扩展文件,防止上架审核4.3问题。 1.用xcode创建一个App工程。 2.添加target,选择Network Extension。 3.导入OpenVPNAdapter.framework。 4.添加swift\下的PacketTunnelProvider.swift文件 5.添加swift\下的Then.swift文件。 6.运行程序,获取PacketTunnel.appex。 7.删除PacketTunnel.appex内部的embedded.mobileprovision文件。 8.将PacketTunnel.appex内部的Frameworks目录下的OpenVPNAdapter.framework复制到XF-OpenVPNPlugins/ios/目录下。 9.删除PacketTunnel.appex内部的Info.plist中Bundle identifier。 10.替换XF-OpenVPNPlugins里面的PacketTunnel.appex文件。 11.你自己的appex扩展就做好了。 ## ** 一、用友 OpenVPNPlugins配置说明 ** #### 主工程 Info.plist 需要配置 1. Info.plist中新增groupName值:如group.主工程ID。 ```js groupName group.主工程ID NSSystemExtensionUsageDescription VPN权限申请描述信息 ``` #### 主工程 UZApp.entitlements 需要配置 ```js com.apple.developer.networking.networkextension packet-tunnel-provider com.apple.security.application-groups group.com.soft.qingyanjiasu ``` #### 扩展库 PacketTunnel.appex 1. appex扩展内部 Info.plist 根据实际情况填写一下内容。 2. Info.plist中新增Bundle identifier值:如:主工程ID.PacketTunnel。 3. Info.plist中新增groupName值:如group.主工程ID。 4. 根据自己实际情况替换appex中的embedded.mobileprovision证书 ```js CFBundleIdentifier 主工程ID.PacketTunnel groupName group.主工程ID ``` ## ** 二、Dcloud XF-OpenVPNPlugins配置说明 ** 1. 修改ios-extension.json里面配置信息: ```js { "PacketTunnel.appex": { "identifier":"",//必须修改为自己的id值 "profile":"ios-PacketTunnelExt.mobileprovision",//可以不修改 "plists":{ "groupName":"",//App Group数据共享ID }, "entitlements":{ "com.apple.developer.networking.networkextension":["packet-tunnel-provider"], "com.apple.security.application-groups":[""]//App Group数据共享ID } } } ``` 2. 替换ios-PacketTunnelExt.mobileprovision描述文件为你自己的扩展描述文件(文件名称请不要变). 3. 修改package.json里面com.apple.security.application-groups信息为自己的值,同时修改NSSystemExtensionUsageDescription权限的描述信息。 ![](https://gitee.com/tyousan_admin/AleafPlugins/raw/master/1692797571669.png) ## ** 三、离线打包 ** #### 主工程和扩展工程配置如图 ![](https://gitee.com/tyousan_admin/AleafPlugins/raw/master/1692797571666.jpg) #### 主工程单独引入扩展 PacketTunnel.appex 如图 ![](https://gitee.com/tyousan_admin/AleafPlugins/raw/master/1692797571667.png) ![](https://gitee.com/tyousan_admin/AleafPlugins/raw/master/1692797571668.png) 同时在Info.Plist中填写权限NSSystemExtensionUsageDescription的描述信息。