适用于Mac / iOS的Qiniu资源(云)存储Objective-C SDK
通过 CocoaPods
pod "Qiniu", "~> 8.8.1"
通过 Swift Package Manager (Xcode 11+)
App 对接:
File -> Swift Packages -> Add Package Dependency,输入库链接,选择相应版本即可
库链接: https://github.com/qiniu/objc-sdk
库对接:
let package = Package(
dependencies: [
.package(url: "https://github.com/qiniu/objc-sdk", from: "8.8.0")
],
// ...
)
Qiniu SDK 版本 | 最低 iOS版本 | 最低 OS X 版本 | Notes |
---|---|---|---|
8.8.x | iOS 9 | OS X 10.15 | Xcode 最低版本 11 |
8.7.x | iOS 9 | OS X 10.15 | Xcode 最低版本 11 |
8.6.x | iOS 7 | OS X 10.15 | Xcode 最低版本 11 |
8.5.x | iOS 7 | OS X 10.15 | Xcode 最低版本 11 |
8.4.x | iOS 7 | OS X 10.15 | Xcode 最低版本 11 |
8.3.x | iOS 7 | OS X 10.15 | Xcode 最低版本 11 |
8.2.x | iOS 7 | OS X 10.15 | Xcode 最低版本 11 |
8.1.x | iOS 7 | OS X 10.15 | Xcode 最低版本 11 |
8.0.x | iOS 7 | OS X 10.15 | Xcode 最低版本 11 |
7.5.x | iOS 7 | OS X 10.9 | Xcode 最低版本 6. |
7.4.x | iOS 7 | OS X 10.9 | Xcode 最低版本 6. |
7.3.x | iOS 7 | OS X 10.9 | Xcode 最低版本 6. |
7.2.x | iOS 7 | OS X 10.9 | Xcode 最低版本 6. |
7.1.x / AFNetworking-3.x | iOS 7 | OS X 10.9 | Xcode 最低版本 6. |
7.0.x / AFNetworking-2.x | iOS 6 | OS X 10.8 | Xcode 最低版本 5. |
7.x / AFNetworking-1.x | iOS 5 | OS X 10.7 | Xcode 最低版本 5. |
6.x | iOS 6 | None | Xcode 最低版本 5. |
#import <QiniuSDK.h>
...
NSString *token = @"从服务端SDK获取";
QNUploadManager *upManager = [[QNUploadManager alloc] init];
NSData *data = [@"Hello, World!" dataUsingEncoding : NSUTF8StringEncoding];
[upManager putData:data key:@"hello" token:token
complete: ^(QNResponseInfo *info, NSString *key, NSDictionary *resp) {
NSLog(@"%@", info);
NSLog(@"%@", resp);
} option:[QNUploadOption defaultOptions]];
...
#import <QiniuSDK.h>
...
QNConfiguration *config = [QNConfiguration build:^(QNConfigurationBuilder *builder) {
builder.useHttps = YES;// 是否使用https
builder.zone = [[QNAutoZone alloc] init];// 根据 bucket 自动查询区域
// builder.zone = [QNFixedZone createWithRegionId:@"z0"];// 指定华东区域
// builder.zone = [QNFixedZone createWithRegionId:@"z1"];// 指定华北区域
// builder.zone = [QNFixedZone createWithRegionId:@"z2"];// 指定华南区域
// builder.zone = [QNFixedZone createWithRegionId:@"na0"];// 指定北美区域
// builder.zone = [QNFixedZone createWithRegionId:@"as0"];// 指定东南亚区域
}];
QNUploadManager *upManager = [[QNUploadManager alloc] initWithConfiguration:config];
QNUploadOption *option = [[QNUploadOption alloc] initWithProgressHandler:^(NSString *key, float percent) {
NSLog(@"progress %f", percent);
}];
NSData *data = [@"Hello, World!" dataUsingEncoding:NSUTF8StringEncoding];
NSString *token = @"从服务端SDK获取";
[upManager putData:data key:@"hello" token:token complete: ^(QNResponseInfo *info, NSString *key, NSDictionary *resp) {
NSLog(@"%@", info);
NSLog(@"%@", resp);
} option:option];
...
建议 QNUploadManager 创建一次重复使用, 或者使用单例方式创建.
$ xcodebuild test -workspace QiniuSDK.xcworkspace -scheme QiniuSDK_Mac -configuration Release -destination 'platform=macOS,arch=x86_64'
可以在单元测试上修改, 熟悉 SDK
$ xcodebuild test -workspace QiniuSDK.xcworkspace -scheme QiniuSDK_Mac -configuration Release -destination 'platform=macOS,arch=x86_64' -only-testing:"QiniuSDK_MacTests/QNResumeUploadTest/test5M"
详情参考 代码提交指南.
The MIT License (MIT). 详情见 License 文件.