ios - 从旧的 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?当然,尽管 API 发生了任何变化,但要以一种简单直观的方式维护 SDK,并且不需要对客户端代码进行重大更改,这肯定不会那么难。
我究竟做错了什么?
解决方案
[交叉链接供参考:https ://www.dropboxforum.com/t5/API-Support-Feedback/DBRESTClient-and-DBrestClientDelegate-replacement-in-v2/mp/279439#M16767 ]
Dropbox API v2 Objective-C SDK 不是从旧的 Dropbox Core API v1 Objective-C SDK 构建的,因此执行这些操作的方式不同:
- 删除路径:
使用deleteV2
.
- uploadFile:toPath:withParentRev:fromPath:
- 加载元数据:
要获取特定文件的元数据,请使用getMetadata
. 要列出文件夹的内容,请使用listFolder
和listFolderContinue
。
- 取消所有请求
Dropbox API v2 Objective-C SDK 没有提供这样的帮助方法来一次取消所有请求。(尽管我们将其视为功能请求。)相反,这些方法返回您可以跟踪的任务对象。然后,您可以根据需要取消任何/所有任务。对于任何特定任务,这看起来像:
DBUploadTask *req = [client.filesRoutes upload...
[req cancel];
推荐阅读
- python - 编写一个 Windows 程序来替换几个工程 excel 电子表格
- python - 改变问题python,如何创建边界?
- javascript - Recursive array enumeration in JS
- regex - 如何使用 grep 和 sed 从文本文件中获取变量?
- react-native - React Native 中不显示警报按钮
- python - 另一个安装 pyjags 失败
- function - Kotlin 中嵌套 while 循环的问题
- python - 带有熊猫数据框的自定义 xticks 的对数 x 轴
- c++ - 如何删除 QT 项目文件中的重复代码?
- javascript - 缓存 API 在 safari ios 模拟器和 mac 上不起作用