iBooks でブックが壊れて開けないときの対処方法

電子書籍

Apple が iBooks でリリースしている Swift 言語の解説書『The Swift Programming Language』を読もうとしたところ『このブックは開けません。

ブックが壊れています。

』と表示されてしまいました。

その再現方法と回避策について調べてみました。

iBooks でThe Swift Programming Language が壊れる

Apple がiBooks でリリースしているSwift言語 の解説書The Swift Programming Language を読もうとしたところこのブックは開けません。ブックが壊れています。 と表示され、開けなくなってしまいました。

この症状はiMac だけでなくMacBook Pro でも発生しました。

ときどき読めるようになっていることはあるものの、基本的にはずっと読めず、Mac を再起動しても、The Swift Programming Language を削除してダウンロードし直しても、たいていの場合は読めなくなるようでした。


それについて状況を調べてある程度の修復方法は見つけたのですが、あまりに不安定すぎて、ただの一時的なバグ のようにも思えました。

ただ、バグだとしてもしばらくはお世話になりそうだったので、状況と対処方法を整理しておくことにしました。環境はOS X Yosemite 10.10.1 とiBooks 1.1 です。

再現方法

まず、どんなときにブックが壊れてしまうのかを調べてみると、次の2つが考えられる様子でした。

iPhone でThe Swift Programming Language を読み進めたとき…

自分の場合はiPhone 6 Plus でしたが、とにかくiPhone でThe Swift Programming Language を途中まで読み進めて閉じたりすると、iMac 側で開けなくなる様子でした。

おそらく、同じApple ID を使用していて、デバイス間で読んだページを記憶するのが影響していたりするのでしょうか。ブックに蛍光マーカーで目標をつけていたり、ブックマークをつけていたりもしています。

iMac でThe Swift Programming Language を閲覧中にウィンドウをリサイズしたとき…

iMac でThe Swift Programming Language を閲覧している最中に、ブックのウィンドウサイズを変更しても、途端にブックが壊れていると通知されてしまう様子です。

かつて快適に読めていた頃は、そんなことはなかったはずなので、何かのアップデートによってバグが潜んだのかもしれません。

対処方法

iBooks で1ページ単位で表示されるようにする

まず最初に試したいのが、Mac 側のiBooks のウィンドウ幅を調整して、The Swift Programming Language が1ページ単位で表示されるようにするところからです。

特に、ウィンドウサイズを調整した途端にブックが壊れた場合に有用でした。


たとえばこのように『ブックが壊れています』と表示されて読めなくなっていたとします。

この場合でもiBooks のウィンドウサイズだけは調整できるようになっているので、ここで次のように、ウィンドウ内に1つのページだけが表示されるようなサイズに調整します。

調整したらいったんOKボタン を押してiBooks を閉じます。

そして再びiBooks でThe Swift Programming Language を開くと、読めるようになっている場合があるようです。

iPhone でThe Swift Programming Language を最初のページに戻す

次に試すこととしては、いったんMac 側のiBooks は終了させて、iPhone のiBooks でThe Swift Programming Language を開いて、最初のページまで移動します。

最初のページに移動できたら、いったんライブラリ へ戻り、ひと呼吸おきます。

そうしたら、Mac 側のiBooks でThe Swift Programming Language を開いてみると、これで上手く読めるようになっている場合があるようでした。

これで開けない場合でも、何度もiPhone で最初のページに戻ってMac で開き直すを繰り返していると、開けるようになる印象でした。