Commit 70c77d2a12a076e2ad33ef936e06b7f190c8ba83

Authored by 张旭
2 parents e6d17277 87e4e6c1

Merge branch 'master' of bj.gitlab.cnlive.com:ios-team/CNLiveUploadSDKDemo

Showing 1 changed file with 126 additions and 1 deletions
README.md
1   -CNLiveUploadSDKDemo
  1 +## 北京中投视讯 iOS上传SDK1.1.0
  2 +##### 产品概述
  3 +视讯云上传SDK为您提供基于网络的数据存取服务,使用本SDK,您可以通过网络方便地存储和获取图片、音频、视频、文本等各类数据文件。SDK会将您上传的数据文件以对象(object)的形式组织到存储空间(bucket)里。
  4 +您还可以通过此SDK获取上传资源的外链地址。
2 5  
  6 +##### 版本更新说明
  7 +2017/12/12(版本号:1.1.0_17/12/12)
  8 +
  9 +* 增加获取上传资源外链地址API
  10 +* 增加获取SP对应的BucketName API
  11 +* 增加获取版本号API
  12 +* SP等信息加密处理
  13 +
  14 +2017/8/20 (版本号:1.0.0)
  15 +
  16 +* 单块上传
  17 +* 开始分块上传
  18 +* 取消分块上传
  19 +
  20 +##### SDK功能特性
  21 +上传文件,支持图片、音频、文本、视频等各类数据文件。云存储将文件保存在对应的Bucket里。
  22 +获取上传资源的外链路径。
  23 +
  24 +##### 系统要求
  25 +1、最低支持iOS版本:iOS 8.0
  26 +2、支持的CPU架构:armv7,arm64,x86_64
  27 +##### 集成方式
  28 +在视讯云开放平台下载视讯云上传CNLiveUploadSDK导入SDK,由于是动态库使用的时候需要把Framework 同时添加到 ‘General’->‘Embedded Binaries’中。CNLiveUploadSDK依赖于KS3YunSDK(动态库),将Demo中的KS3YunSDK导入工程中,同时添加到 ‘General’->‘Embedded Binaries’中。
  29 +
  30 +##### SDK基本使用
  31 +* 初始化视讯云上传SDK
  32 +
  33 +```
  34 +/**
  35 + 初始化上传云SDK
  36 +
  37 + @param appId 在open.cnlive.com网站申请得到的appId
  38 + @param appKey 在open.cnlive.com网站申请得到的appKey
  39 + @param isTestEnvironment YES:测试环境 NO:正式环境
  40 + */
  41 ++ (void)setAppId:(NSString *)appId appKey:(NSString *)appKey isTestEnvironment:(BOOL)isTestEnvironment;
  42 +```
  43 +
  44 +代码示例:
  45 + `[CNLiveUpload setAppId:AppId appKey:AppKey isTestEnvironment:YES];`
  46 +
  47 +* 单块上传
  48 +参考Demo中的beginSingleUpload:方法, 单块上传最小支持5M,最大支持为5G
  49 +
  50 +```
  51 +/**
  52 + 单块上传
  53 +
  54 + @param putObjectRequest 指定上传单块的request信息
  55 + @return 返回单块的response信息
  56 + */
  57 +- (CNLivePutObjectResponse *)putObject:(CNLivePutObjectRequest *)putObjectRequest;
  58 +```
  59 +
  60 +* 分块上传
  61 +
  62 +参考Demo中的beginMultipartUpload方法,分块上传最小为5M一块,小于5M请使用单块上传
  63 +
  64 +```
  65 +/**
  66 + 上传分块
  67 +
  68 + @param uploadPartRequest 指定上传分块的request信息
  69 + @return 返回resonse对象(里边有服务返回的数据(具体的参照demo))
  70 + */
  71 +- (CNLiveUploadPartResponse *)uploadPart:(CNLiveUploadPartRequest *)uploadPartRequest;
  72 +```
  73 +调用这个接口会初始化一个分块上传,response会返回一个CNLiveMultipartUpload 对象,其属性有upload id, upload id 用来标识属于当前上传的具体的块,并且用来标识完成分块上传或者取消分块上传
  74 +
  75 +* 取消分块上传
  76 +
  77 +参考Demo中的取消分块上传的使用。
  78 +
  79 +```
  80 +/**
  81 + * 取消分块上传
  82 + *
  83 + * @param abortMultipartRequest 设置分块文件属性
  84 + *
  85 + * @return 返回resonse对象(里边有服务返回的数据(具体的参照demo))
  86 + */
  87 +- (CNLiveAbortMultipartUploadResponse *)abortMultipartUpload:
  88 +(CNLiveAbortMultipartUploadRequest *)abortMultipartRequest;
  89 +```
  90 +
  91 +* 获取上传资源外链地址
  92 +
  93 +```
  94 +/**
  95 + 获取上传资源外链地址
  96 + 如果失败回调,可以开辟子线程重新请求此API获取资源外链地址
  97 +
  98 + @param bucketKey SP上传Bucket里文件的路径(包括扩展名)
  99 + @param uploadType 上传文件类型:图片CNLiveYun_UploadType_Image和视频 CNLiveYun_UploadType_Video
  100 + @param successBlock 成功回调,返回上传资源外链地址
  101 + @param failureBlock 失败回调,返回错误信息
  102 + */
  103 ++ (void)getUploadResourceUrlWithBucketKey:(NSString *)bucketKey uploadType:(CNLiveYun_UploadType)uploadType success:(void (^)(NSString *resUrl))successBlock failure:(void (^)(NSDictionary *error))failureBlock;
  104 +```
  105 +* 获取SP的BucketName
  106 +
  107 +```
  108 +/**
  109 + 获取SP的BucketName
  110 +
  111 + @return BucketName
  112 + */
  113 ++ (NSString *)getSPBucketName;
  114 +```
  115 +
  116 +##### 常见错误提示
  117 +常见失败信息:
  118 +
  119 +```
  120 +errorCode = "sys_1015";
  121 +errorMessage = "app \U5f02\U5e38”;
  122 +//appid和bundleID不一致
  123 +
  124 +errorCode = "sys_1002";
  125 +errorMessage = "sign error”;
  126 +//appkey和appid不一致
  127 +```
... ...