【注意喚起】MacのLaunchpadのアプリ削除機能に超弩級のバグが見つかる

スクリーンショット 2014 11 01 18 24 27

2014/11/18更新:「OS X 10.10.1」でこの不具合は修正されました

Mac App Storeでアプリを購入している人ならば、アプリを削除するためにLaunchpadのアプリアンインストール機能を使ったことがあるかもしれません。

iOSと同様にアプリを長押しするだけでアプリをアンインストールすることができる便利な機能ですが、この機能に「~/Library/Application Support以下を全消去してしまう」超弩級の不具合が見つかりました(Togetter)。

「~/Library/Application Support」以下にはアプリの設定情報など大切な情報がたくさん保存されています。これがごっそり削除されるのはかなりヤバイ事態です。

現象

この不具合は、Launchpadで特定のアプリを削除すると「~/Library/Application Supportに含まれているファイルやフォルダが全部消えてしまう」うというものです。特定のアプリとして現在名前が上がっているのは「Coffitivity」というカフェの環境音を流すことができるアプリです。

スクリーンショット 2014 11 01 18 27 41

上の画面で削除を押すと「~/Library/Application Support」に含まれているものがまとめて削除されます。

スクリーンショット 2014 11 01 18 27 12 1

↑削除前の「~/Library/Application Support」内。

スクリーンショット 2014 11 01 18 33 58 1

↑削除後の「~/Library/Application Support」内。一部フォルダが残っていますがごっそり消えました。この不具合はやばい(汗

原因

Info plist

Twitterユーザーの@hetimaさんは、Info.plistで指定できるCFBundleDisplayNameが空白になっているのが原因で「~/Library/Application Support」以下の全消しが発生するのではなかと推測しています。

さらにCFBundleDisplayNameに相対パスで、「../../../../usr/bin」を指定すると「/usr/bin」が消えるとも指摘しています。

対処法

Appleが不具合を修正するまで、Launchpadでアプリを削除しないのが一番の対処法かもしれません。個別にCFBundleDisplayNameを確認してから削除するという方法も考えられますが…めんどくさすぎるので。

まとめ

Mavericks時代にLaunchpadでアプリを削除して整理していたときに「~/Library/Application Support」が綺麗さっぱり消える謎現象に何回か遭遇したことがありました。思い返せば、それはこの不具合が原因だったのかもしれません。

そうだとすると、すくなくともMavericks〜Yosemiteにかけて存在している不具合のようです(LaunchpadはLionで導入されたので、それ以前のOSでも発動する可能性はあります)。

ちなみに「Coffitivity」が例として挙げられていますが、アプリ開発者が悪いのではなくOS X側が空文字列を確認せず削除しているのが不味いと思われます。Appleの早急な対策を期待したいですね。

スポンサーリンク