initSDK: flags: extra:
接口描述
用于启动并初始化SDK
注意事项
- 该接口用于启动并初始化SDK,在调用其他接口之前必须先调用该接口,只能在didFinishLaunchingWithOptions中调用。
- 初始化方法必须在主线程调用。
方法定义
- (void)initSDK:(SFSDKMode)sdkMode
flags:(SFSDKFlags)sdkFlags
extra:(NSDictionary<NSNumber *, NSString *> * __nullable)extra;
参数描述
表1 参数说明
参数 | 是否必须 | 类型 | 描述 |
---|---|---|---|
sdkMode | 是 | SFSDKMode | SDK模式选项 |
sdkFlags | 是 | SFSDKFlags | SDK基本配置选项 |
extra | 否 | NSDictionary |
SDK额外配置,iOS当前不生效,传nil 即可 |
表2 枚举SFSDKMode说明
枚举值 | 描述 | |
---|---|---|
SFSDKModeSupportMutable | SDK启动模式会根据配置变动 | (推荐使用模式) |
SFSDKModeSupportVpn | SDK启用VPN接入功能 | (已废弃, 不推荐使用) |
SFSDKModeSupportVpnSandbox | SDK启动VPN和安全沙箱功能 | (已废弃, 不推荐使用) |
SFSDKModeSupportMutable说明
使用场景
如果希望部分用户使用集成SDK的APP仅具备代理访问内网业务的能力,部分用户使用集成SDK的APP不仅具备代理访问内网业务的能力,并且还具备数据防泄密的能力,可以使用该模式。
授权占用
- 当集成SDK的APP在应用中心授权给用户,用户使用该APP便会以接入+安全沙箱模式运行,并且占用并发授权和UEM移动版授权;
- 当集成SDK的APP在应用中心未授权给用户,用户使用该APP便会以接入模式运行,并且占用并发授权;
- 当“高级设置”中未勾选“允许未授权用户以接入模式运行”时:
- (1) 如果集成SDK的APP在应用中心未授权给用户,则用户无法通过该APP接入使用;
- (2) 如果集成SDK的APP在应用中心授权给用户,则用户可以通过该APP接入使用,并且占用并发授权和UEM移动版授权。
注意
使用SFSDKModeSupportMutable模式会根据你当前服务端控制台的配置动态切换SFSDKModeSupportVpn和SFSDKModeSupportVpnSandbox,开关说明说明:
如果勾选,表示当前sdk应用可以让未授权的用户以接入模式登录:当前开关功能仅在服务端版本2.2.10及以上版本支持
表3 枚举SFSDKFlags说明
枚举值 | 描述 |
---|---|
SFSDKFlagsVpnModeTcp | TCP模式,当前必选。 |
SFSDKFlagsHostApplication | 主应用模式,与子应用模式二选一。 |
SFSDKFlagsSubApplication | 子应用模式,与主应用模式二选一。 |
SFSDKFlagsSVpnServer | 对接vpn服务器。若明确对接的服务器,请选择本项,效率会更高,否则请忽略该项。(子应用必须指定对接服务器) |
SFSDKFlagsSdpServer | 对接aTrust服务器。若明确对接的服务器,请选择本项,效率会更高,否则请忽略该项。(子应用必须指定对接服务器) |
示例代码
// 初始化
[[SFUemSDK sharedInstance] initSDK:SFSDKModeSupporVpnSandbox
flags:SFSDKFlagsHostApplication | SFSDKFlagsVpnModeTcp
extra:nil];