アプリを登録する
###アプリの登録
下記 URL の”Create app”よりアプリを登録します。
https://www.dropbox.com/developers/apps
Drop insとDrop box APIの選択があります。
今回はアプリ内のファイルをDropBoxフォルダに保存、読み込みしたいのですが、Drop box APIのほうが色々と柔軟にできるようなので、こちらを選びました。
###作成されたキーの確認
左メニューの"app console"から先ほど作成したアプリを選びます。
App Key, App Secretが表示されます。このキーは後ほど必要になります。
SDKをxCodeプロジェクトに組み込む
###SDKをダウンロード
左メニューの”Core API”を選び、iOSの"Install SDK"からダウンロード。
###xcodeに組み込み
解凍してDropboxSDK.frameworkをxcodeのプロジェクトにドラッグ
Copy items into destination group's folder
をチェックしてFinish。
###Security.framework, QuartzCore.framework を設定
xcodeのファイルエクスプローラーでターゲットのプロジェクトを選択し、
"Build Phases"タブの"Link Binary with Libraries"の"+"ボタンをクリックします。
表示されたダイアログでSecurity.frameworkを検索して追加します。
QuartzCore.frameworkについても同様に繰り返します。
コーディング
###アプリを認証させる
APP KEY, APP SECRETには、先ほど入手したものを指定してください。
#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];
適当なボタンを押した時に、以下メソッドを実行
- (IBAction)didPressLink {
if (![[DBSession sharedSession] isLinked]) {
[[DBSession sharedSession] linkFromController:self];
}
}
###URL Schemaの設定
xcodeのファイルエクスプローラーでターゲットのプロジェクトを選択し、
"info"→"URL Types"の"URL Schemas"に
db-APP_KEY (APP_KEYは先ほど取得したもの)と入れる
###認証完了の処理をAppDeletete.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です!