Dropbox-OSX-SDK 1.3.13

Dropbox-OSX-SDK 1.3.13

TestsTested
LangLanguage Obj-CObjective C
License Custom
ReleasedLast Release Dec 2014

Maintained by Nikolaj Schumacher.



  • By
  • Dropbox

Getting Started Using the DropboxSDK for OSX:

Requirements: 1. You need Xcode version 5.1 or later. 2. You need to have registered your app at https://dropbox.com/developers/apps You should have an app key and secret.

Note: The SDK is designed to work with OSX versions 10.7 and above.

Building and using the example app: 1. Open the project file in examples/DBRouletteOSX/DBRouletteOSX.xcodeproj 2. Fill in the values for appKey, appSecret, and root in AppDelegate.m applicationDidFinishLaunching: 3. Right click on DBRouletteOSX-Info.plist in the file browser and select "Open As" -> "Source Code". Substitute APP_KEY with your app key in the file. 4. Build and Run app 5. Once running, make sure you can use the app to login and view photos without getting errors. The sample app will look inside your Dropbox's Photos folder if you have full Dropbox access or in your app's App folder if you have App folder access.

If you cannot run the app without getting errors, make sure your app key and app secret are correct.

Adding DropboxOSX framework to your project: Before you can use the Dropbox API in your app, you'll need to add the framework to your project.

  1. Open your project in Xcode
  2. Right-click on your project in the files tab of the left pane and select "Add Files to ''"
  3. Navigate to where you uncompressed the Dropbox SDK and select the DropboxOSX.framework subfolder
  4. Select "Copy items into destination group's folder"
  5. Press Add button
  6. Ensure that you have the Security.framework added to your project. To do this in Xcode4, select your project file in the file explorer, select your target, and select the "Build Phases" sub-tab. Under "Link Binary with Libraries", press the + button, select Security.framework, and press Add.
  7. Also in the "Build Phases" sub-tab, click the "Add Build Phase" button in the lower right hand corner and select "Add Copy Files". In the new build phase that's created, click the + button and add DropboxOSX.framework to be copied into the Resouces folder.
  8. Build and run your application. At this point you should have no build failures or warnings, and be able to run your app successfully.

Authentication: Now that you've added the framework, the next step is to authenticate which will allow you to make requests against the Dropbox API.

  1. Set the shared DBSession object. To do this, create a DBSession object using the -[DBSession initWithAppKey:appSecret:root:] constructor in your AppDelegates applicationDidFinishLaunching: method. You will need to fill in the appropriate values of app key, secret and root for your app found at https://dropbox.com/developers/apps.

    Once you've created the session, you can set it as the shared session using +[DBSession setSharedSession]. Also make sure you're importing the SDK:

    import

  2. Add a url handler for db-APP_KEY in your plist file, where APP_KEY is the app key for your app that you included in your DBSession object. If your app isn't registered for any url handlers, the easiest way to add them is
    • Right-click on your plist file, and select "Open As" -> "Source Code".
    • Paste the following code into the file: CFBundleURLTypes CFBundleURLName Dropbox SDK CFBundleURLSchemes db-APP_KEY
    • Substitute APP_KEY with your app key
  3. Register
  4. Integrate DBAuthHelperOSX into the controller where the user links his Dropbox account (This is done in AppDelegate.m in the example app DBRouletteOSX). This involves three things:

    • #import
    • Before you use the auth helper (such as when the controller is created), you need to subscribe to the DBAuthHelperOSXStateChangedNotification like this: [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(authHelperStateChangedNotification:) name:DBAuthHelperOSXStateChangedNotification object:[DBAuthHelperOSX sharedHelper]];

      In your authHelperStateChangedNotification: method you should update the state of your linked status. Look at -[AppDelegate authHelperStateChangedNotification:] in DBRouletteOSX for an example.

    • When the user initiates the link process, call: [[DBAuthHelperOSX sharedHelper] authenticate];

    Once you get a DBAuthHelperOSXStateChangedNotification and [[DBSession sharedSession] isLinked] is YES you're ready to start making API calls.

Loading Files and Folders: For more information on how to make calls using the API, check out our tutorial online at https://dropbox.com/developers/start/files#ios for iOS. Once you're authenticated the iOS and OS X SDKs are the same.