2011/12/14

Xcode4.2でのDropbox SDK v1のサンプルアプリケーションのコンパイルについて

以前の記事でDropbox SDKのサンプルアプリケーションをコンパイルする方法を紹介しました。

あれから、Dropbox SDK v1がリリースされ、Xcodeも4.2になってサンプルアプリのコンパイル方法が多少変更されていますので、あらためてサンプルのコンパイル手順を簡単に紹介します。

  1. 事前にディベロッパキー(App-keyとApp-secret)を取得しておきます。詳細は以前の記事を参照してください。
  2. DropboxのディベロッパサイトからiOS SDKをダウンロードします。
  3. dropbox-ios-sdk-1.0.zipを解凍します。
  4. ディレクトリexamples/DBRouletteからXcodeプロジェクトを開きます。
  5. DBRouletteAppDelegate.mのapplication:didFinishLaunchingWithOptions:にapp-keyとapp-secretをセットします。さらにrootにもディベロッパキーの設定により、kDBRootAppFolderかkDBRootDropboxのどちらかを選択します。

    -(BOOL)application:(UIApplication*)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
      // アプリ起動前にいくつかの変数をセット
      NSString* appKey = @"App keyをセット";
      NSString* appSecret = @"App secretをセット";
      NSString* root = kDBRootDropbox; // kDBRootAppFolder か kDBRootDropbox のどちらか
  6. 認証方法が変更されているため、Info.plistのURL Schemesを設定します。スキーマ名は「db-<App key>」としなければなりません。

  7. そうしていない場合はDropboxSDKが次のようなエラーを報告するかもしれません。

    2011-12-02 01:38:03.935 DBRoulette[8405:207] [ERROR] DropboxSDK: unable to link; app isn't registered for correct URL scheme (db-xxxxxxxxxxxxxxx)
    

    なお、カスタムURLスキーム自体については「iOSで独自カスタムURLスキームを設定する方法について」を参照してください。

  8. コンパイルして実行し、Link DropboxをタップするとSafariが起動します。アクセスを許可すると、以前の同様にPhotosフォルダ内にある画像ファイルをランダムに表示します。

まとめ

Xcode4.2でのDropbox SDK v1のサンプルアプリケーションのコンパイルについて紹介しました。

関連項目

2 件のコメント:

  1. こんにちは。
    はじめまして。DropboxSDKのサンプルでついてくるDBRouletteを動かしてみたのですが以下のようなエラーがが出てしまいました。

    2012-03-11 15:18:10.043 DBRoulette[8074:b303] [WARNING] DropboxSDK: error making request to /1/metadata/dropbox/Photos - The provided token does not allow this operation
    2012-03-11 15:18:10.048 DBRoulette[8074:b303] restClient:loadMetadataFailedWithError: The operation couldn’t be completed. (dropbox.com error 400.)

    ちなみに、「App key」「App secret」「URL SchemesのDB-APPKEY」の個所はセットしました。

    なにかアドバイスをいただけますと幸いです。

    返信削除
  2. コメントありがとうございます。
    記事中、手順5の5行目 root = kDBRootDropbox; が設定されていないとそのメッセージが出るみたいです。
    こちらの記載抜けのようで申し訳ございません。後ほど訂正させていただきます。

    返信削除

注: コメントを投稿できるのは、このブログのメンバーだけです。