BibDesk iOS をビルドして利用する

BibDesk iOS

Mac 用の BibTeX 管理ツールの BibDesk の iOS 版が開発されています. (BibDesk は MacTeX にも収録されています.) iOS 版では bib ファイルの編集はできないものの, Dropbox で bib ファイルと PDF ファイルを同期して, 閲覧することができます. Universal アプリで iPad にも対応しており, 論文等の管理に活用できそうです.

しかし, 2013年12月時点で App Store では配信されておらず, 各自でビルドして利用するしかありません. この記事では BibDesk iOS をビルドして利用する方法を解説します.

ソースコードの取得

ソースコードは Subversion で管理されています.

svn checkout https://bibdesk.svn.sourceforge.net/svnroot/bibdesk/trunk/bibdesk_ios bibdesk_ios

Xcode でワークスペースを開く

チェックアウトした bibdesk_ios 内の BibDesk.xcworkspace を Xcode で開きます.(BibDesk.xcodeproj ではないので注意.)

Rev. 19577 は Xcode 4.6.3 + iOS SDK 6.1 と Xcode 5.0.2 + iOS SDK 7.1 でビルドできることを確認しています. アプリ自体は iOS 5.1+ 対応です.

Dropboxの API キーを取得する

チェックアウトしたソースコード内に Dropbox の API キーが含まれていますが, これは開発用のキーでユーザー数が100に制限されており, すでにその制限に達しているため利用できません. よって, 各自で新たな開発者用のキーを取得します.

  1. Dropbox の App Console にアクセスしてログインします.
  2. Create App ボタンを押し, 新しい App を作成します.
  3. Dropbox API App を選択します.
    1. What type of data does your app need to store on Dropbox? は Files and data stores を選択.
    2. Can your app be limited to its own, private folder? は No を選択.
    3. What type of files does your app need access to? は All file types を選択.
    4. Provide an app name, and you’re on your way. は適当に設定.
  4. Create App ボタンを押します.
  5. App key と App secret を含む情報が表示されます.

プロジェクトの設定を変更する

Xcode に戻り, BibDesk -> BibDesk iOS -> Classes -> Application Delegate -> BDSKAppDelegate.m を開きます.
didFinishLaunchingWithOptions 内で, デフォルトの Dropbox の API キーを取得している部分を以下のように変更します.

// Set these variables before launching the app
NSString* appKey = @"<取得した App key>";
NSString* appSecret = @"<取得した App secret>";
NSString *root = kDBRootDropbox; // Should be set to either kDBRootAppFolder or kDBRootDropbox
DBSession* session = [[DBSession alloc] initWithAppKey:appKey appSecret:appSecret root:root];
//DBSession* session = NewDBSessionWithBibDeskMobile();

さらに, BibDesk のプロジェクト設定を開き, BibDesk ターゲットの Info -> URL Types を開き, URL Schemes を db-<取得した App key> に変更します.

ビルド

ここまでの設定で, シミュレーターでの実行ができるようになります. Run をクリックすると, ビルドされてシミュレーターでアプリが起動します.

実機で利用する場合は, 他のアプリの実機テストを行うのと同じ手順で実行できます.

参考