Forum Discussion

Steve L.32's avatar
Steve L.32
Explorer | Level 4
8 years ago
Solved

API V2 analogue of canceFileLoad and cancelFileUpload

In my iOS app using Dropbox API V1 I cancel file uploads and downloads using code similar to this:

 

[self.restClient canceFileLoad:dBox.cloudURLDropbox];

 

What is the corressponding V2 method call ... I've spent some time looking throught the docs and for the life of me I cannot see what to do!

 

Thanks,

Steve

  • You can save the task returned by the download/upload call, and then call cancel on it:

     

    DBDownloadDataTask *downloadTask = [[client.filesRoutes downloadData:filePath] setResponseBlock:^(DBFILESFileMetadata *metadata, DBFILESDownloadError *downloadError, DBRequestError *error, NSData *fileData) {
            // ...
    }];
    
    // ...
    
    [downloadTask cancel];
    

     

    Hope this helps! 

  • Greg-DB's avatar
    Greg-DB
    Icon for Dropbox Staff rankDropbox Staff

    You can save the task returned by the download/upload call, and then call cancel on it:

     

    DBDownloadDataTask *downloadTask = [[client.filesRoutes downloadData:filePath] setResponseBlock:^(DBFILESFileMetadata *metadata, DBFILESDownloadError *downloadError, DBRequestError *error, NSData *fileData) {
            // ...
    }];
    
    // ...
    
    [downloadTask cancel];
    

     

    Hope this helps! 

    • Steve L.32's avatar
      Steve L.32
      Explorer | Level 4

      Thank you Greg, perfecto! I can cancel uploads and downloads on the iOS simulator.  But when I try to run my App on a real device (iPhone 7) I get a dynlib error similar to what happens when archiving the macOS version of my App  ): I am again using the Xcode subproject method.

       

      So I am stuck again ...

       

      Thanks,

      Steve

       

       

      • Steve L.32's avatar
        Steve L.32
        Explorer | Level 4

        Hmmm.  After hours of hacking I tried adding the framework an an embedded binary, and lo and behold the App now runs on a device:

         

        That seems to give me TWO instances of Linked Frameworks now.  In the DB docs, for method #3 Xcode subprojects the instructions are very specific:

         

        1) for iOS add the framework as a Linked Framework only.

        2) for macOS add the framework as an Embedded Binary only.

         

        I am confused :)

         

        In any case I am prepared to mark this particular question concerning canceling up/down-loads from Objective-C as answered, leaving aside the unanswered linking questions/problems.  As an aside I will note that I can also better read the full Objective-C V2 API docs thanks to you.  It was, as they say, hard for me to see the forest for the trees.

         

        Thanks!