Apple製グラフィックスソフト「Motion」を使っていて酷い目に逢いました。しかし上手く対処できたのでここにその方法を残しておきます。
style="display:inline-block;width:336px;height:280px"
data-ad-client="ca-pub-3481943934845626"
data-ad-slot="8806407289">
映像ファイルを突然開けなくなるバグ
Motion5は価格の割にとても使い勝手が良く、便利な映像作成アプリです。が、けっこう不安定で、落ちることもしばしば。
落ちてもまた起動し直して続きから取り組めるのはまだしも、僕の場合は今までちゃんと開いて取り組んでいたプロジェクトファイルがまったく開けなくなるバグにハマりました。その時のエラーがこちら。↓↓
saveしていたfinder上のプロジェクトファイルをいくらクリックしてもこのアラートが出るばかりでいっこうに開けない。アプリ内からファイルを選択しても反応がないか、同じアラートが出るばかり。
数時間前までMotionで編集していたのになんで???
と、さすがに焦りました。
初めてこのバグが出た時は、幸いにも前日の自動保存されていたファイルを開くことができたので、(ここ2、3時間の作業が無駄になったとは言え)深く気にせず、やり直しました。
それから1週間後、またこのバグが発生。しかも今回は、最近の自動保存ファイルのほとんどを開くことができず、開けるファイルがあったとしても1週間も前のもの。。。
この1週間で取り組んできた作業はなかなか膨大なものです。ひとつのビューを調整するのにどれだけ手間がかかるか…。
しかもだいぶ完成に近づいている状態で、並行開発しているアプリと一緒にいよいよ公開するぞって時にこれです。焦りを通り越して生きた心地がしませんでした本当に。(泣)
このバグの原因
さて、前置きが長くなりましたが、結論から言うと、今回の僕の場合だとこのバグの原因は、
「他のスケッチアプリから引っ張ってきた画像のファイル名に解読不能な文字が含まれていた。」
ことです。
自動保存のファイルを調べてみると、確かにこの画像ファイルをインポートした前後でバグが発生していました。
ちなみにそのスケッチアプリとはMac専用アプリ「Sketch3」です。
デバッグ方法
例のごとく、こういう類いの情報は日本語だととても少ないです。英語でひたすら調べる必要がありました。
そして辿り着いたページがこちらの
Opening Motion 5.0.2 files in 5.0.4 | Apple Support Communities
この人のこちらの回答です。↓↓
この人もフォトショからのファイルで開けなくなったと言っています。そして大事なのは後半の文章で、「XMLを検証するプログラムで間違っている箇所を消したらちゃんと開けるようになった」ようなことを言っています。
実は.motnファイルは大きなXMLファイルそのもので、MacデフォルトのTextEditなどのエディタアプリでXMLファイルとして開くことができ、コードを直接修正することができます。
XMLファイルとして検証する
そこで、XMLファイルを検証する必要があります。
その時に参考にしたページがこちら。
xmllintによる XMLの検証と整形 — 名無しのvim使い
幸いにもMacは新たにアプリをインストールせずともXMLファイルを検証することができます。
標準で入っているTerminalというCUIソフトで、
xmllint --noout --valid XMLファイル
を入力するだけ。
【追記2016/03/29】
上記の僕の説明が不十分で、実行に失敗する人が続出してしまっているようなので追記します。
まずターミナルの基本として、ファイルになんらかの操作を行う場合は「そのファイルが存在する階層まで(自分が)入っている」ことが前提条件です。
もし目的の階層に進まずに上記のコマンドを実行しても「warning: failed to load external entity」と、
外部実体を読み込むのに失敗しましたという警告が出てしまいます。
そこで目的の階層へ進むコマンドを実行していきます。
このとき最低限必要なコマンドは「ls」と「cd」です。
ls:現在の階層にあるフォルダ・ファイルをすべて表示する
cd ディレクトリ名:入力したフォルダへ進む
という意味があります。(こちらに詳しく書かれています)
“ls”でフォルダ名を確認しながら”cd フォルダ名”で階層を進み、motnファイルと同じ階層に入ります。
その上で、
xmllint --noout --valid ファイル名.motn
を実行してください。
ここで、nooutとvalidの前のハイフンはそれぞれ2つずつーーであることに注意です。
追記する前は、HTML上でハイフンを連続で打っても1つの横線になって表示されることを知らず、それが読者さんに混乱を招いていたようです。
また、矢印キーの上下で、過去に入力したコマンドを引き出せるので覚えておくと便利ですよ。
【追記おわり】
するとエラー箇所を返してくれ、自分の場合はある画像ファイルのファイル名におかしな文字が入ってるよと
“^”記号で教えてくれました。
実はSketch3はファイルをエスクポートするとファイル名の先頭に「見えない文字」が入ってしまうことが多々あります。
XcodeやAppCodeへインポートすると、エラーを出してくれるのですぐ気付きますが、Motionはタチが悪く、インポート後は何の問題もなく編集を続けることができてしまいます。
このバグが発生するタイミングは、なんと保存してアプリケーションを閉じたあとなんです。だからさっきまで開けていたのに突然できなくなったってことになるんですね。
エディタアプリで.motnファイルを開き、その画像ファイルのファイルパスを見てみると、ファイル名の頭にやはり変な文字が記号として認識されているのがわかります。(下の例だと%10pastingHTTPがそれ)
そして、TextEditやCoda2などのエディタアプリでそこを修正し、
Finder上のファイルデータも名前をきちんと修正します。
これで無事に映像ファイルを開くことができるようになりました。
他アプリで作ったファイル名にはくれぐれも気をつけましょう(笑)
今回の件で寿命が少し縮まったような気がします。
この記事のお陰で開けなかったファイルが開けました。
原因は「BGM: タッチ」というテキストの「M」の部分でした。前後の文字が悪かったのかなぁと思いましたが、なんとも理解不能です。
本当に本当に助かりました。ありがとうございました!
ありがとうございます。この記事のおかげで助かりました。情報発信で人助けなんてスゴいですね。ありがとうございます。
当記事がお役に立てて良かったです。
追記するのが遅くなってしまったのが心苦しいですが、書いた甲斐がありました。
モーション5が開けず困っている際にこちらのサイトにたどり着きました。
「xmllint –noout –valid XMLファイル」
こちらをターミナルでペーストすると下記の文字しかでてきません。
warning: failed to load external entity “–noout”
warning: failed to load external entity “–valid”
warning: failed to load external entity “XMLファイル”
根本的にやり方を間違えているのでしょうか、本当に困り果てています。どんなに些細なことでも構いませんのでもう一度詳しくおしえていただけまんでしょうか。よろしくお願い致します。
とてもお困りのところ、返事が大変遅くなってしまい失礼しました。
追記にも書きましたが、まずMotionファイルがある階層へ進む必要があります。
そして、コマンドのnooutとvalidの前のハイフンはそれぞれ1つではなく2つです。
こちらの説明不足でご迷惑おかけしました。
記事と同様の現象が起こっている者です。
コマンドを打ち込んだところ、無事(?)エラーの箇所が表示されたのですが、エラーの意味がわからず、調べても出てこず、困っています…
大変厚かましいですが、エラーの一覧などはありますか?お時間ありましたらお返事いただけると幸いです。
記事の閲覧ありがとうございます。
エラー一覧は持っていないですね。。。
文字の下部に「^」の記号が示されていませんか?(記事中の画像参照)
僕はその矢印が指している文字に問題がありました。
記事の閲覧とコメントありがとうございます。すみません、コメントに今気がつきました。
「nout」ではなく「noout」でやってみてはいかがでしょうか。
はじめまして。
この記事と同様のことが起こり混乱している状況です。
ターミナルで
「xmillint-nout-valid
XMLファイル」と打ち込んでもcommand not found
と表示されてしまいます。どのように対処すれば良いのかお時間ありましたらご返事頂けたら幸いです。
[…] 参考にしたサイト。このページを読んだおかげで対処できました。Motion5でエラー”The document could not be opened.”が出てファイルを開けなくなった場合の対処法http://fum-s-tyle.com/motion5-the-document-could-not-be-opened-error.html […]