Dropbox無料版の接続デバイスの台数制限に備え、自作アプリ TodoAndNote を Dropboxを使わないようにしようとしたのですが… が今のところ上手くいってません。
今回のDropbox無料版の接続デバイスの台数制限は過去に接続したデバイスはOKという寛大なものなので、直ぐに対応しないと行けないわけではないので空き時間で作業を進めて行こうと思います。
今回は最近行った事や、なぜ Dropbox から離れられないかをまとめてみました。
TodoAndNote は、なぜ Dropbox を使っているか
TodoAndNote はTODOやメモをiPhone/iPad/Macで共有するためのアプリで TODO・メモのファイルは Dropbox を使って共有しています。
現在、iPhone x 1, iPad x 1, Mac x 2 で使っています。また AWS Lambda から定型TODOを登録しています。
Dropboxへのアクセスは
- iPhone, iPad からは SwiftのDropbox APIを使いアクセス
- Mac からはファイルシステムにマウントされた Dropbox のドライブをMac用Markdownアプリでアクセス
- AWS Lambdaからは JS(node)のDropbox APIを使いアクセス
のようになっています。また別の目的でLinuxサーバーにも Dropbox ドライブをマウントしています。
代替手段を検討
不正確な部分もあるかも知れませんが
Dropbox | iCloud Drive | Google Drive | Firebase | WebDAV | |
---|---|---|---|---|---|
Macにマウント | ○ | ○ | ○ | △ | ○ |
iOSにマウント | ○ | ○ | ○ | ? | ○ |
iOS用API | ○ | ○ | ○ | ○ | ○ |
JS用API | ○ | △ | ○ | ○ | ? |
Linuxにマウント | ○ | ? | △ | △ | ○ |
iCloud Drive を試してみた
基本Appleのデバイスを使っているので iCloud Drive は一番の候補です。iCloud は長い時間をかけて発展してきたサービスの集まりで iCloud Drive は以前の iCloud とは違うサービスだと考えた方が分かり易いと思います、私も最初は混乱していました。
iCloud Drive は簡単にアプリのドキュメントディレクトリーを複数デバイスで同期が取れる素晴らしいサービスです。しかしファイル名だけが存在しファイルの内容がない状態があるので注意が必要です、またファイルの内容の同期を開始するAPIはありますが同期が終了したかどうか調べる公式APIは無いようです(?)。
またiCloud Drive用の公式なJSやRESTのAPIが用意されてないようです(?)、したがって AWS Lambda からアクセス出来ないので iCloud Drive は諦めました。
今後
比較表にあるようにGoogleDriveはかなり良さそうなので、少し試してみようかと思います。
次はFireBaseでしょうか? FireBaseのストレージを直接Macにはマウント出来ないのですが FUSE を使えば出来るようです。
Dropboxの有料版に移行するのもよい考えですが、¥1,000/月なのは少し高いかな? と思っています。もう少し安いプランが出てくれると良いのですが…