40
40

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

[iOSアプリ]DropBoxと連携する

Last updated at Posted at 2014-03-08

アプリを登録する

###アプリの登録
下記 URL の”Create app”よりアプリを登録します。
https://www.dropbox.com/developers/apps
Drop insとDrop box APIの選択があります。
今回はアプリ内のファイルをDropBoxフォルダに保存、読み込みしたいのですが、Drop box APIのほうが色々と柔軟にできるようなので、こちらを選びました。

###作成されたキーの確認
左メニューの"app console"から先ほど作成したアプリを選びます。
App Key, App Secretが表示されます。このキーは後ほど必要になります。

kobito.1394270797.088551.png

SDKをxCodeプロジェクトに組み込む

###SDKをダウンロード
左メニューの”Core API”を選び、iOSの"Install SDK"からダウンロード。

###xcodeに組み込み
解凍してDropboxSDK.frameworkをxcodeのプロジェクトにドラッグ
kobito.1394270236.915485.png

Copy items into destination group's folder
をチェックしてFinish。

###Security.framework, QuartzCore.framework を設定
xcodeのファイルエクスプローラーでターゲットのプロジェクトを選択し、
"Build Phases"タブの"Link Binary with Libraries"の"+"ボタンをクリックします。
表示されたダイアログでSecurity.frameworkを検索して追加します。
QuartzCore.frameworkについても同様に繰り返します。

kobito.1394251368.725687.png

コーディング

###アプリを認証させる
APP KEY, APP SECRETには、先ほど入手したものを指定してください。

AppDelegate.m
#import <DropboxSDK/DropboxSDK.h>
DBSession *dbSession = [[DBSession alloc]
      initWithAppKey:@"INSERT_APP_KEY"
      appSecret:@"INSERT_APP_SECRET"
      root: kDBRootAppFolder]; // either kDBRootAppFolder or kDBRootDropbox
[DBSession setSharedSession:dbSession];

適当なボタンを押した時に、以下メソッドを実行

ViewController.m
- (IBAction)didPressLink {
    if (![[DBSession sharedSession] isLinked]) {
        [[DBSession sharedSession] linkFromController:self];
    }
}

###URL Schemaの設定
xcodeのファイルエクスプローラーでターゲットのプロジェクトを選択し、
"info"→"URL Types"の"URL Schemas"に
db-APP_KEY (APP_KEYは先ほど取得したもの)と入れる

kobito.1394252791.657776.png

###認証完了の処理をAppDeletete.mに追加。

AppDelegate.m
- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url
    sourceApplication:(NSString *)source annotation:(id)annotation {
    if ([[DBSession sharedSession] handleOpenURL:url]) {
        if ([[DBSession sharedSession] isLinked]) {
            NSLog(@"App linked successfully!");
            // At this point you can start making API calls
        }
        return YES;
    }
    // Add whatever other url handling code your app requires here
    return NO;
}

認証の確認

さてアプリをビルドしてみて、先ほど作った認証スタートのボタンを押してみましょう。
DropBoxの連携画面が出て来ればOKです!

kobito.1394271022.397766.png

40
40
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
40
40

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?