iOS学习之七牛云存储应用
前言
七牛云存儲,是專為移動時代開發者打造的數據管理平臺,為互聯網網站和移動App提供數據的在線托管、傳輸加速以及圖片、音視頻等富媒體的云處理服務。
七牛云官網http://www.qiniu.com/,進入開發者平臺,瀏覽了所有的開發指南,可是卻是沒有具體清晰的操作步驟。今天自己試著通過網絡,實現了使用七牛云存儲文件。現在,將操作步驟記錄如下。
準備工作
1.注冊七牛云賬號。
2.創建空間。
3.獲取Access Key。
4.獲取Secret Key。
5.獲取官方SDK(https://github.com/qiniu/objc-sdk)。
導入工程
1.打開Xcode創建Project。
2.從獲取的官方SDK導入庫,如下圖
3.獲取token
這一步,網上大家都說得很簡單,在這一步卡殼許久。現在說說自己使用的方法:
1)獲取服務器代碼,編譯工程,以備生成token。
服務器代碼地址:https://github.com/CharsDavy/QiNiuGenertorToken
2)使用Eclipse導入上述服務器代碼
在Test.java文件中,修改自己的空間名稱,Access Key和Secret Key。運行程序,即可獲得token。
這種方式生成的token的有效期是可以自己設定的,如果你想,設定1000年過期也是可以的。
4.使用代碼上傳文件
#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:nil];
...
調試
工程導入之后,可能會出現以下幾種可能的錯誤。
1.若報Undefined symbols for architecture x86_64: "_crc32", referenced from:,項目中需導入libz.dylib。(Build Phases---Link Binary With Libraries)
2.若報"_res_9_ninit", referenced from: _setup_dns_server in QNResolver.o等,
1)項目中需導入libresolv.dylib或libresolv.9.dylib。(Build Phases---Link Binary With Libraries);
2)或 (Build Settings---Linking---Other Linker Flags) 添加-lresolv選項
3.若報Thread 1: EXC_BAD_ACCESS(code=1,address=0x180f4beb8)類似錯誤,將QN打頭的都設置arc(Build Phases---Compile Sources)
4.可能需要修改部分內容,如#import <AFNetworking/AFNetworking.h>改為#import "AFNetworking.h"
小結
以上就是本人在工程中使用七牛云進行文件云存儲的過程,本文中使用的僅僅是上傳文件,更多其他操作功能請參照官方文檔。
最后,附上一個使用七牛云存儲的軟件,源碼地址:https://github.com/CharsDavy/MyNotes
其實,對于獲取token來完成上載操作,也可以參考官方文檔,地址在
http://developer.qiniu.com/docs/v6/api/reference/security/put-policy.html
總結
以上是生活随笔為你收集整理的iOS学习之七牛云存储应用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 腾讯广告联盟 Android SDK(广
- 下一篇: Kibana可视化数据(Visualiz