SpeakeriPhone・iOSアプリ・その他ガジェット・Webサービス・Webデザイン関連の情報ブログAbstract経由でSketchを使っていてファイルが真っ白になった際の対処やぁみんな!今回は、Abstract経由でSketchを使っていてファイルが真っ白になった際の対処について書こうと思うぞ。デザインをしていて、最新ファイルを間違えて捨てちゃったとか、意図しない内容で上書き保存して閉じちゃったとか、最新のデザインデータを不意に失うような事件が起こるっていうのはデザイナーあるあるだと思うんだけど、先日、Abstract+Sketchを使っていてそんな事件が起きたので、そのレポートだ。前日まで普通に作業していたSketchファイルが突然真っ白に僕はある日、前日まで作業していたSketchファイルを開いてデザイン作業の続きをしようとしていた。SKETCH」でファイルを開いた。17枚あったページは1枚になり、アートボードは0枚になっていたんだ。empty」と表示されている。他のファイルは問題ない。昨日作業して、コミット、マージしたファイルだけ、問題が発生している。↓問題の発生しているファイル。↓他のファイルは問題ない。ブランチを削除して再度チャレンジ問題が発生してしまったブランチを一度削除して、新たに作り直し、再度開いてみても、やっぱり真っ白。Abstract、Sketch、Macを再起動して試してみても、結果は同じだった。昨日のマージは正常にできているはずだけど?Abstractの、昨日最後のマージは、たぶん正常におこなわれている。当該ファイルの昨日最後のマージをAbstract上で確認すると、ちゃんとアートボードのサムネイル郡が表示されているからね。empty」になってない。UNTRACKED」で開いてみると。ページは1枚、アートボードは0枚。Abstract上では正常に見えて、それをSketchで開こうとすると真っ白になる、という状態。UNTRACKED」で開いてみた。すると、こちらは問題なく開くことができた。すべてのページが正常に揃っている。ファイルをエクスポートしてみるそれならば、と、問題の発生しているファイルをデスクトップにエクスポートしてみた。Abstract上の昨日のマージは、サムネイルも正常に表示されているし、ファイル自体には問題ないのでは?Abstractを経由してSketchで“開こうとするとき”に“何かが起こっている”んじゃないか?と推測したんだ。エクスポートしたSketchファイルは正常に開くことができた。昨日最後にSketchで保存して、Abstractにコミット、マージした内容だ。うーん、やっぱりSketchファイル自体は正常なのか。僕の気づけていない何かが要因で、AbstractからSketchにデータが渡されるときに問題を発生させているみたいだ。Abstractの問題なのか、Sketchの問題なのか、仕様なのか、バグなのか、まったくわからない。調査検証したり、必要であればAbstractやSketchの修正を待っているような時間もない。最新ファイルをAbstractから開くことは諦めた。エクスポートしたファイルから白紙になってしまったファイルに中身を移す?エクスポートしたファイルは正常だった。白紙になってしまったSketchファイルにページを作り直し、正常なファイルからアートボードをすべて移していくという方法もある。ページ内のアートボードはまとめて選択してコピー、ペーストするだけだから、ページごとにごっそり持っていけばいい。これをやってしまうと、別の新たな問題が発生してしまう。僕は、プロトタイピングツールにMarvelを使っているんだ。Marvelは、Sketchと連携して、Sketch側の変更をボタンクリックで簡単に反映させることができる。アートボードの名前を変更しても、同じアートボードと認識してくれるから、とっても助かる。アートボード自体を作り直した場合、たとえアートボード名が同じでも、違うアートボードと認識されてしまうんだ。前述のようなやり方でSketchファイルを修復したあと、Marvelとの紐付けをアートボードごとにReplaceしていかなければならない。アートボードは全部で数百枚ある。これを全部Replaceしていきたくないな。これは最後の手段として取っておくことにする。1つ前のマージからブランチを作って作業してみる問題の発生した最新マージの1つ前のブランチからは、当該ファイルを正常に開けることを確認した。そこで、そこからブランチを作ってSketchで開き、昨日の作業をまた加えた上で、マスターブランチにマージしてみた。これで解決するだろうと思ったんだけど。実はさっき、問題の起こったブランチを、マスターにコミット、マージしてしまっていたので、「マスターに別の変更がある」ということで、マスターの内容とブランチの内容から採用するほうを選択していく必要があった。これ自体は全く問題ない。1つ前のマージから作ったブランチで作業した分をすべて選択していった。その結果できあがった新たなマスターブランチは、僕の期待したものではなかった。今、変更を施して手動マージしたページ、アートボード以外は、マスター側の「存在しない」という状態を保たれてしまうみたいだ。なんとか復活した数枚のアートボードは、ライブラリ化してあるシンボルとのリンクが全部切れてしまっていた。これはプラグインを使って一括で置き換えられるだろうからいいとしても、それはそれでめんどくさい。Abstractの「Replace」という一条の光どうにかならないかなぁ。任意のファイルだけ、任意のブランチからマスターに強制的に上書きするとか。Abstractをこねこねしていると、ブランチの中のファイル名を右クリックしたときのメニューに「Replace」というのを発見した。これはもしや!と思ったら大正解。empty」になってしまっていた問題のファイルを、さっきデスクトップにエクスポートした昨日最後のバージョンでReplaceしたら、正常に開くことができるようになったんだ。これで、ReplaceしたファイルをSketchで開いてみると。正常に開くことができた!ライブラリのシンボルも全部正常にリンクされている。Marvelとの紐付けもされたままだ。