从旧的Dropbox SDK迁移

时间:2018-06-07 18:36:02

标签: ios objective-c dropbox-sdk

我正在从旧的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并且不需要对客户端代码进行重大更改也不会那么困难。

我做错了什么?

1 个答案:

答案 0 :(得分:0)

[交叉链接供参考:https://www.dropboxforum.com/t5/API-Support-Feedback/DBRestClient-and-DBRestClientDelegate-replacement-in-v2/m-p/279439#M16767]

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。要列出文件夹的内容,请使用listFolderlistFolderContinue

  
      
  • cancelAllRequests
  •   

Dropbox API v2 Objective-C SDK没有提供这样的帮助方法,可以立即取消所有请求。 (我们会将其视为功能请求。)相反,这些方法会返回您可以跟踪的任务对象。然后,您可以根据需要取消任何/所有任务。对于任何特定任务,看起来像:

DBUploadTask *req = [client.filesRoutes upload...
[req cancel];