Ошибка Dropbox в - 'uploadData: mode: autorename: clientModified: mute: propertyGroups: inputData:' - PullRequest
0 голосов
/ 01 мая 2019

При попытке загрузить файл в Dropbox, но при этом появляется ошибка:

Нет видимого @interface для 'DBFILESUserAuthRoutes' объявляет селектор uploadData: mode: autorename: clientModified: mute: propertyGroups: inputData: '

Мой код указан ниже:

DBUserClient * clientt = [DBClientsManager authorizedClient ];
    NSData *fileData = [filename dataUsingEncoding:NSUTF8StringEncoding allowLossyConversion:NO];

    // For overriding on upload
    DBFILESWriteMode *mode = [[DBFILESWriteMode alloc] initWithOverwrite];


    [[[clientt.filesRoutes uploadData:fullPath
                                mode:mode
                          autorename:@(YES)
                      clientModified:nil
                                mute:@(NO)
                      propertyGroups:nil
                           inputData:fileData]
      setResponseBlock:^(DBFILESFileMetadata *result, DBFILESUploadError *routeError, DBRequestError *networkError) {
          if (result) {
              NSLog(@"%@\n", result);
          } else {
              NSLog(@"%@\n%@\n", routeError, networkError);
          }
      }] setProgressBlock:^(int64_t bytesUploaded, int64_t totalBytesUploaded, int64_t totalBytesExpectedToUploaded) {
          NSLog(@"\n%lld\n%lld\n%lld\n", bytesUploaded, totalBytesUploaded, totalBytesExpectedToUploaded);
      }];

Много гуглил за 3 дня получил такой же код даже на официальной странице dropbox, но пока не повезло.Пожалуйста, укажите, что здесь не так или нет.

1 Ответ

0 голосов
/ 01 мая 2019

Dropbox Objective-SDK периодически обновляется, что иногда включает новые параметры. Когда вы обновляете свою копию SDK или работаете с более старыми образцами, написанными для более старых версий SDK, вам может потребоваться добавить параметры, соответствующие интерфейсу, предлагаемому используемой версией.

Например, параметр strictConflict был добавлен в метод SDK uploadData. Вам нужно будет обновить свой код соответствующим образом, чтобы добавить этот параметр. Вы можете просто передать nil, если хотите использовать значение по умолчанию, например:

                           propertyGroups:nil
                           strictConflict:nil
                                inputData:fileData]

Или вы можете передать определенное значение, например так:

                           propertyGroups:nil
                           strictConflict:@(NO)
                                inputData:fileData]
...