Dropbox for Swift Developers
を参考にして、Swift版Dropbox APIを使ってみました。
XCode7.2, iOS9.2環境で動作確認しました。
Install
cocoapodsでSwiftyDropboxをインストールします。この時、Alamofireもインストールされます。
$ cat Podfile
platform :ios, '8.0'
use_frameworks!
pod 'SwiftyDropbox'
Tutorial
ステップごとに実装方法の説明があります。
Tutorailどおりに進めていきましたが、現在のユーザ情報取得時(client.users.getCurrentAccount().response)にエラーが発生しました。
unable to access "users/get_current_account"
すでに、SwiftyDropboxのissueになっており解決しているようでした。
unable to access "users/get_current_account"
このパッチは当たっているのを確認しました。が、同じエラーが発生しました。
解決
原因は、SwiftyDropboxのバージョンを指定しないと、SwiftyDropbox/Alamofireのバージョンが2.x/3.x系がインストールされ、Alamofire3.xでのデータ取得が失敗しているようです。SwiftyDropboxのバージョンを (1.0.2)にするとAlamofire(2.0.2)がインストールされます。この環境では正常にデータ(アカウント情報)を取得することができました。
$ cat Podfile
platform :ios, '8.0'
use_frameworks!
pod 'SwiftyDropbox', '~> 1.0.1'
公式ドキュメントではなく、こちらの記事を参考にしておけば良かったというオチでした。今だけの問題だと思いますが、同じ現象で悩んでいる人の参考になれば幸いです。