アプリを登録する
アプリの登録
下記 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です!