We are aware of the issue with the badge emails resending to everyone, we apologise for the inconvenience - learn more here.

Forum Discussion

Bob S.15's avatar
Bob S.15
Collaborator | Level 9
6 years ago

uploadURL unrecognized selector

I'm trying to upload my app's old Dropbox support to the newest SDK.  Has uploadURL been killed?  All I see is "upload" -- but there's no argument for the source file, so how do you use it?  Some examples for how to use this stuff would be nice.    DBRoulette is kind of useless for most purposes.

EDIT: Ok I managed to find an example buried in this byzantine documentation.  But it is out of date.  There are new arguments in the declaration here different from the example.  

http://dropbox.github.io/dropbox-sdk-obj-c/api-docs/latest/Classes/DBFILESUserAuthRoutes.html#/c:objc(cs)DBFILESUserAuthRoutes(im)uploadData:mode:autorename:clientModified:mute:propertyGroups:inputData:

And neither one is working for me.  Here is what I am doing -- it says "Instance method '-uploadData:mode:autorename:clientModfified:mute:propertyGroups:inputData:' not found"

Is there some way to see the actual function headers or declarations on my machine, since the documentation is so contradictory?  I choose "Go To Definition/Declaration" from XCode or or search files for "uploadData" and nothing comes up.

[[[[DBClientsManager authorizedClient].filesRoutes uploadData:finalPath
         mode: [[[DBFILESWriteMode alloc] initWithOverwrite] autorelease]
         autorename: @(NO)
         clientModfified:nil
         mute: @(NO)
         propertyGroups:nil
         inputData: fileData]
      setResponseBlock:^(DBFILESFileMetadata *result, DBFILESUploadError *routeError, DBRequestError *error) {
  • Bob S.15's avatar
    Bob S.15
    Collaborator | Level 9

    Okay I finally got this by grepping the SDK folder for "uploadData" and finding the true arguments to this function.   I had "Modified" spelled wrong, and there was an additional argument 'strictConflict' that was missing.  The working call looks like this.

    [[[[DBClientsManager authorizedClient].filesRoutes uploadData:finalPath
             mode: [[[DBFILESWriteMode alloc] initWithOverwrite] autorelease]
             autorename: @(NO)
             clientModified:nil
             mute: @(NO)
             propertyGroups:nil
             strictConflict:nil
             inputData: fileData]

     

    Seriously though am I just old or is this documentation crazy hard to navigate?  Plus it is not up to date with conflicting information all over the place...