iOS SDK 集成指南
SDK 说明
资源文件
包名为 jverification-ios-{版本号}-release
- Libs 文件夹:包含头文件 JVERIFICATIONService.h,静态库文件 jverification-ios-x.x.x.a,jcore-ios-x.x.x.a(请注意:模拟器不支持 APNs)
- Libs-noidfa 文件夹:包含静态库文件jcore-noidfa-ios-x.x.x.a
- JiguangDemo 文件夹:示例
DEMO使用
进入到JiguangDemo目录下,执行pod install命令安装sdk,打开JiguangDemo.xcworkspace运行即可。
JiguangDemo为多个SDK拼接组装而成的Demo,使用cocoapods进行管理,如需手动集成请参考[手动导入]部分。
使用提示
本文是JVerification iOS SDK 标准的集成指南文档。
匹配的 SDK 版本为:v2.0.0及以后版本。
- 如果您想要快速地测试、请参考本文在几分钟内跑通Demo。
- 极光认证文档网站上,有相关的所有指南、API、教程等全部的文档。包括本文档的更新版本,都会及时地发布到该网站上。
产品说明
极光认证整合了三大运营商的网关认证能力,为开发者提供了一键登录和号码认证功能,优化用户注册/登录、号码验证体验,提高安全性。
主要场景:
- 注册
- 登陆
- 二次验证
iOS SDK 版本
目前SDK只支持iOS 8以上版本的手机系统。
接入配置
IDFA
从 JVerification v2.5.0 开始,极光提供 idfa 和 noidfa 两个版本,请注意选择版本集成。 idfa 版本是标准版,默认自动采集 IDFA 数据, noidfa 版本不自动采集。极光建议开发者使 idfa 版本。当然,如果开发者不想使⽤ IDFA 或者担忧采集 IDFA 而未集成任何广告服务遭到 Apple 拒绝,请使用 noidfa 版本。
注意事项
App在提交苹果审核时,对“此App是否使用广告标识符(IDFA)?”,需要选择“是”,并且需要根据App使用广告情况,勾选以下选项:
- 在App内投放广告 -- 确认是的话需要勾选
- 标明此App安装来自先前投放的特定广告 -- 确认是的话需要勾选
- 标明此App中发生的操作来自先前投放的广告 -- 确认是的话需要勾选
添加SDK到工程中
选择 1: Cocoapods 导入 2.6.3
如果使用标准版本(从2.5.0版本开始默认采集IDFA)
pod 'JCore' // 可选项,也可由pod 'JVerification'自动获取
pod 'JVerification' // 必选项
注:如果无法导入最新版本,请执行 pod repo update master 这个命令来升级本机的 pod 库,然后重新 pod 'JVerification'
如果需要安装指定版本则使用以下方式(以2.6.3版本为例):
pod 'JCore', '2.2.5' // 可选项,也可由pod 'JVerification'自动获取
pod 'JVerification', '2.6.3' // 必选项
如果使用无IDFA版本
如果使用 JCore 2.1.4 及以上版本,使用方式如下(以 JVerification 2.6.3 版本为例,需严格遵循代码顺序):
pod 'JCore', '2.2.5-noidfa' // 必选项
pod 'JVerification', '2.6.3' // 必选项
如果使用 JCore 2.1.4 以下版本,使用方式如下(以 JVerification 2.6.3 版本为例,需严格遵循代码顺序):
pod 'JCore', '2.1.2' // 必选项
pod 'JVerification', '2.6.3' // 必选项
选择 2:手动导入
- 在极光官网下载最新 SDK
-
请在自己的工程中导入libs文件夹下的SDK文件:
- JVERIFICATIONService.h
-
为工程添加相应的Frameworks,需要为项目添加的Frameworks如下
AdSupport.framework(获取 IDFA 需要;如果不使用 IDFA,请不要添加)
* CoreLocation.framework
* CFNetwork.framework
* CoreFoundation.framework
* libresolv.tbd
* libz.tbd
* libc++.1.tbd
* CoreTelephony.framework
* SystemConfiguration.framework
* Security.framework
* CoreGraphics.framework
* libsqlite3.tbd
* MobileCoreServices.framework
* AVFoundation.framework
* TYRZSDK.framework
* account_login_sdk_noui_core.framework
* EAccountApiSDK.framework
* ESOneKeyLogin.framework
* OAuth.framework
* jcore-ios-x.x.x.a jcore版本 2.1.6及其以上
* jverification-ios-x.x.x.a
说明:jcore-ios-x.x.x.a 、jverification-ios-x.x.x.a 、account_login_sdk_noui_core.framework、ESOneKeyLogin.framework、OAuth.framework、TYRZSDK.framework和EAccountApiSDK.framework 在Libs文件夹下
工程配置
配置-ObjC
设置工程 TARGETS -> Build Settings -> Other Links Flags, 设置 -ObjC
配置支持Http传输
右键打开工程plist文件,加入以下代码
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
配置资源
请将 JiguangDemo 中 Resource 目录下,认证使用的图片资源添加自己的工程目录下。
接入代码
Objective-C 接入
请将以下代码添加到引用JVERIFICATIONService.h头文件的的相关类中
//引入JVERIFICATIONService.h头文件
#import "JVERIFICATIONService.h"
// 如果需要使用 idfa 功能所需要引入的头文件(可选)
#import <AdSupport/AdSupport.h>
接入JVerification SDK的应用,必须先初始化JVERIFICATIONService,否则将会无法正常使用,请将以下代码添加到合适的位置
//如需使用 IDFA 功能请添加此代码并在初始化配置类中设置 advertisingId
NSString *idfaStr = [[[ASIdentifierManager sharedManager] advertisingIdentifier] UUIDString];
JVAuthConfig *config = [[JVAuthConfig alloc] init];
config.appKey = @"your appkey";
config.advertisingId = idfaStr;
[JVERIFICATIONService setupWithConfig:config];
Swift 接入
- 创建桥接头文件
如果你的Swift工程还未引入过Objective-C文件,需要创建一个以工程名称-Bridging-Header.h
文件
- 配置路径
设置工程 TARGETS -> Build Settings -> Objective-C Bridging Header, 设置桥接文件工程名称-Bridging-Header.h
的相对路径
- 引入头文件
在工程名称-Bridging-Header.h
文件中引入头文件
//引入JVERIFICATIONService.h头文件
#import "JVERIFICATIONService.h"
// 如果需要使用 idfa 功能所需要引入的头文件(可选)
#import <AdSupport/AdSupport.h>
- 接入sdk
在需要用到sdk的位置,初始化JVERIFICATIONService
let adString = ASIdentifierManager.shared().advertisingIdentifier.uuidString
let config = JVAuthConfig()
config.appKey = "your appkey"
JVERIFICATIONService.setup(with: config)
更多API
其他 API 的使用方法请参考接口文档:iOS SDK API
运行Demo
压缩包附带的 JiguangDemo 是一个 API 演示例子。
Swift Demo 下载:Swift Demo
技术支持
邮件联系:support@jiguang.cn