iOSでクラウドに保存したファイルをZip圧縮して送信する
ここ最近、ファイルを共有する際にメールやメッセージを使う機会もすっかり減ってクラウドサービスで共有というのが当たり前になっている。そういうわけで普段はファイル共有について意識することもなかったけど、複数のファイルを圧縮してメールで送ってという依頼を受けたときにiOSでどうするのが効率的なのかと考え込んでしまった。
とりあえず実施した手順
緊急だったため以下の手順で送信した。
1)Documents 5 アプリを使いクラウドサービスにアクセス
2)送信する対象のファイルをひとつのフォルダにコピー
3)フォルダを圧縮
4)フォルダ名を変更
5)メールで送信
6)圧縮前と圧縮したフォルダを削除
かなり煩雑な手順になることがわかった。もう少簡単に実現する方法がありそうだけど、わざわざZip圧縮のためにアプリを購入したり、ラップトップをだしてくるのもアレな感じもする。そこで、今回はWorkflowアプリを使って、ざっとフローを作ってみた。
Workflowで実現したフロー
1)圧縮するファイル数を指定
2)クラウドサービスから対象のファイルを選択
3)圧縮ファイル名を指定
4)メールやメッセージで共有
圧縮するファイル数を指定
フロー上、ファイル数とファイル容量に上限設定はないが、メールやメッセージなどで送信するケースでは、共有するサービスの仕様に依存する。
クラウドサービスから対象のファイルを選択
クラウドサービスのアプリが端末にインストールと設定がなされていれば、フロー上クラウドサービスの設定はせずに異なるクラウドサービスからファイルを選択することも可能だ。
圧縮ファイル名を指定
ファイル名は自由につけられるようにした。デフォルトファイル名は年月時刻(yyyyMMddHHmmss )としているが、好みの文字列にも変更できる。
メールやメッセージで共有
好みのメーラやメッセージアプリ、AirDropで送信する。
iOSの標準メーラで送信するとファイル名が件名になるのでこの辺を意識してファイル名を作成してもよいかもしれない。
ワークフローはWorkflowのギャラリーにもアップロードしておく。