我正在从旧的Dropbox Obj-C SDK迁移到新的。我使用旧SDK中的以下方法:
- deletePath:
- uploadFile:toPath:withParentRev:fromPath:
- loadMetadata:
- cancelAllRequests
和一大堆代表打电话:
- (void)restClient:(DBUserClient*)client
uploadedFile:(NSString*)destPath
from:(NSString*)srcPath
metadata:(DBMetadata*)metadata
- (void)restClient:(DBUserClient*)client uploadFileFailedWithError:(NSError*)error
- (void)restClient:(DBUserClient*)client deletedPath:(NSString *)path
- (void)restClient:(DBUserClient*)client deletePathFailedWithError:(NSError*)error
- (void)restClient:(DBUserClient*)client loadedMetadata:(DBMetadata*)metadata
- (void)restClient:(DBUserClient*)client metadataUnchangedAtPath:(NSString*)path
- (void)restClient:(DBUserClient*)client loadMetadataFailedWithError:(NSError*)error
- (void)sessionDidReceiveAuthorizationFailure:(DBSession*)session userId:(NSString *)userId
新SDK似乎没有像这些方法或代理那样的东西。我有点惊讶的是,SDK会被更新为与已经存在的SDK完全不同。我想也许我有些不对劲,也许还有另一个我不知道的SDK?当然,尽管有任何API更改,但是以一种简单直观的转换方式维护SDK并且不需要对客户端代码进行重大更改也不会那么困难。
我做错了什么?
答案 0 :(得分:0)
Dropbox API v2 Objective-C SDK不是使用旧的Dropbox Core API v1 Objective-C SDK构建的,因此执行这些操作的方式不同:
- deletePath:
使用deleteV2
。
- uploadFile:toPath:withParentRev:fromPath:
使用the upload methods之一。有an example here。
- loadMetadata:
要获取特定文件的元数据,请使用getMetadata
。要列出文件夹的内容,请使用listFolder
和listFolderContinue
。
- cancelAllRequests
Dropbox API v2 Objective-C SDK没有提供这样的帮助方法,可以立即取消所有请求。 (我们会将其视为功能请求。)相反,这些方法会返回您可以跟踪的任务对象。然后,您可以根据需要取消任何/所有任务。对于任何特定任务,看起来像:
DBUploadTask *req = [client.filesRoutes upload...
[req cancel];