Миграция из старого Dropbox SDK - PullRequest
0 голосов
/ 07 июня 2018

Я перехожу со старого SDK Dropbox Obj-C на новый.Я использовал следующие методы из старого 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 таким образом, чтобы переход был простым и интуитивно понятным и не требовал серьезных изменений в клиентском коде.

Что я делаю неправильно

1 Ответ

0 голосов
/ 08 июня 2018

[Перекрестные ссылки для справки: https://www.dropboxforum.com/t5/API-Support-Feedback/DBRestClient-and-DBRestClientDelegate-replacement-in-v2/m-p/279439#M16767]

SDK Objective-C Dropbox API v2 не построен на основе старого SDK Objective-C API Dropbox Core v1, поэтому выполните следующие действия:действия работают по-разному:

  • deletePath:

Использование deleteV2.

  • uploadFile: toPath: withParentRev: fromPath:

Используйте один из методов загрузки .Здесь есть пример .

  • loadMetadata:

Чтобы получить метаданные для определенного файла, используйте getMetadata.Чтобы отобразить содержимое папки, используйте listFolder и listFolderContinue.

  • cancelAllRequests

Dropbox API v2 Objective-C SDK не предлагает такой вспомогательный метод для отмены всех запросов одновременно.(Тем не менее, мы рассмотрим это как запрос функции.) Вместо этого методы возвращают объекты задач, которые вы можете отслеживать.Затем вы можете отменить любую / все задачи по желанию.Для любой конкретной задачи это будет выглядеть так:

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