iCloud Driveへのアップデート後、iCloudからの同期ファイルの退避

iCloud Driveへアップデートしてしまった後では、iCloud Driveのファイル共有サービスへのMacからのダイレクトなアクセスは基本的にはYosemite搭載マシンからのみとなるようで、10.9 Mavericks以前の環境からは、Safariなどのブラウザ経由で、icloud.comへログインするしか方法はないようです。

iCloudDrive_login

■10.9 Mavericksマシン上での‘~/Library/Mobile Documents’フォルダ

mobileDocFldr

図は、10.9 Mavericksで、一旦‘~/Library/Mobile Documents’フォルダの内容をすべて捨ててからマシンを再起動した後に自動的に作成された新しい‘~/Library/Mobile Documents’フォルダの内容です。起動直後には、‘~/Library/Mobile Documents/com~apple~finder’フォルダのみが生成されているだけで、プレビューほかの純正でiCloud対応のアプリケーションに対応するフォルダは、各アプリケーションの最初の起動時に自動生成されます。

taikichu

次の図は、スクリプトエディタ内から、iCloudに保存されたファイルを開くダイアログです。この“Test.scpt”というファイルは、このダイアログを開く直前に保存したものですが、実は、この“Test.scpt”というファイルはローカルの‘~/Library/Mobile Documents/com~apple~ScriptEditor2/Documents’フォルダ内に保存されてはいますが、iCloudサーバの当該ディレクトリには何もありません。つまり、10.9 Mavericksのオープンダイアログで示されるiCloudのディレクトリはローカルの‘~/Library/Mobile Documents’フォルダ内のディレクトリを参照しているだけで、iCloudサーバとは全く同期してはいないのです。

iCD2

結論として言えば、10.9 Mavericksでは、Safariなどのブラウザ経由でアクセスする以外の方法でiCloudを経由したファイルの取り扱いはできないということになります。
PagesやNumbersなどのアプリケーションで作成したドキュメントも、Webアプリケーションを使用してブラウザ上で作業したものは他のマシンからでもブラウザ経由で共有できますが、ローカルのアプリケーションからはアクセスできません。
ブラウザ以外のローカルのアプリケーション(PagesやNumbersだけでなくFinderも)からiCloudサービスを利用するためには10.10 Yosemiteが必須という、とんでも仕様となった訳です。
(聞き及んだ範囲では、Yosemiteでは‘~/Library/Mobile Documents’フォルダも内部階層を特殊表示してしまうようで、素直な階層表示はしないという話です…)

推測される結果として、Yosemiteがリリースされれば、iOS 8デバイスとYosemiteマシン、Yosemiteマシン同士の間ではiCloud Driveのフォルダ同士で同期が行われそうですが、ネットワーク間にMavericks以前のマシンが混在すると、Mavericks以前のマシンとでは同期ができないということになります。
となれば、Mavericks以前のマシンが混在する環境では、同期したいディレクトリ/ファイルをiCloudから外に出すしかないということで、何処に退避するか検討してみました。

■退避先
現在の私のメインマシンでは、どうしたことか、何度クリーンにしてからの再インストールをしてもDropboxが立ち上がらなくなっているので、最有力候補のDropboxは対象外となります。

・SugarSync
これも原因不明ですが、ログイン時に正常に起動しないことが多く、私の環境では対象にできません。
・Yahoo Box
サーバとローカルマシン間での同期といった動作ではなく、単なるストレージという正確のものなので対象外です。Mac固有のバンドルパッケージ形式はそのままディレクトリ扱いとなりますし、ファイル名に使えないキャラクタが別途なので、Macでは使えても、リネームしないと転送できないアイテムがでてくるケースが結構あります。
・OneDrive
悪くはないのですが、Mac晩のクライアントが、ログイン時にアクセスエラーを起こしたり、その都度アカウント入力を求められたりするので、優先順位は低いです。
やはり、転送時にリネームが必要なケースがあります。
・Box<https://www.box.net/ja_JP/home/>
これで上手く行かないと、実は他に候補がなかったりするのですが…
有り難いことに、上手く行きました。

今回は上記のテストくらいしかしなかったのですが、Boxの感心したところは、Dropboxとほぼ同等の拡張子対応をしているところで、「.pkg」を始めとして「.app」「.workflow」などのバンドルパッケージまで単なるディレクトリとしてではなく単一ファイル扱いで転送/同期してくれることです。
OS X以外のサーバOSで運用されているストレージにMac固有のバンドルパッケージ形式がそのまま通用するというのは有り難いものです。

▪️追補 – 14.09.30
知人の所で、Yosemite DP 8版の動作を見てきました。
iCloud Driveを利用してのファイル同期もほぼ同じような手法でできるようです。ただ、同期されるディレクトリが異なるので、設定の変更が必要となる模様です。(現状のiClouDrive.appでの設定は無効となりますので、Yosemite対応版がいずれは出るのではないでしょうか…)

iCloudから同期ファイルを退避させる

このブログ内で“iCloud”をキーワードに検索すれば<https://dodastrand.wordpress.com/?s=iCloud&submit=検索>、いくつかのトピックがヒットします。
iClouDrive.app<http://www.zibity.com/icloudrive.html>をきっかけにして、iCloudのディレクトリ同期機能を使って、常用するアプリケーションのツール、AppleScript系のスクリプトやアプリケーション・ワークフローなどを複数のOS Xマシンで同期させていたのですが、数日前から同期機能が止まってしまっていました。
そうです。iOS 8のアップデートがきっかけです。
9/18にiOS 8のアップデートがリリースされ、その際に、やってしまった訳です。iCloud Driveへのアップを。
このiCloud Driveへのアップグレードが意味するものは、英語でのサイトですが、下記が判りやすいでしょう。
・9to5mac.com
<http://9to5mac.com/2014/09/17/developers-warn-ios-8-users-not-to-upgrade-to-icloud-drive-before-os-x-yosemite-release/>
・mashable.com
<http://mashable.com/2014/09/17/icloud-drive-ios-8/>

iCloudからiCloud Driveへのサービスのアップデートに伴い、同期対象やディレクトリ構造などに大きな変更がなされてしまったようです。
いずれにせよ、ローカルの‘~/Library/Mobile Documents’フォルダ内に作られた任意のフォルダの同期は、OS X 10.9x環境のマシン間では、動作しません。

iCD

10.9 Mavericksのシステム環境設定内のiCloudにあるストレージ管理タブ上からも、‘~/Library/Mobile Documents’フォルダ内の任意の名前のディレクトリは消えてしまっています。
iCloud Driveアイコンの「その他の書類」で表示されるアイテムがiCloud Driveで共有できるディレクトリのようですが、iOS 8デバイスかYosemiteマシンからでないとアクセスできません。

■先ずは退避
正式にリリースされたiOS 8上で簡単にiCloud Driveへアップグレードできてしまうこと、そのiCloud DriveがOS X 10.9をサポートしないこと、Yosemiteは未だ正式版ではないことなど、現状の有り様については言いたいことが山ほどありますが、何を言ってももはやせんない事柄となってしまう訳で、さっさと対処策を考えた方が良いようです。
私は、同期対象をiCloud Driveから退避させることにしました。
さて、どのクラウドストレージを使うか。あまり迷う程候補はないのですが…

10.9.4がリリースされた時期から、メインマシンではDropBoxが起動できません。

‘com.apple.launchd.peruser.502[173]: ([0x0-0x6f06f].com.getdropbox.dropbox[1014]) Exited with code: 254’

というログを吐き出すだけで、プロセス自体が起動しないのです。いくつものバージョンを試してみましたが、すべて結果は同じです。もう1台のMavericksマシンでは問題なく動作しているのですが…


ということで、Yosemiteが正式にリリースされれば、またiCloud Driveに同期設定を戻すかも知れませんが、Mavericksでは当面外へ退避ということにした次第です。
多分、‘box’<https://www.box.net/ja_JP/home/>で落ち着くのだろうと思います。