Google Chrome 39がMac OS X 10.10.2 Betaでクラッシュする現象が問題になっているようで、その原因と解決方法が9to5Macで公開されています。
同記事によるとChromeがクラッシュする原因は、10.10.2 でTrackpad APIが変更になったため。Chromeが以前の古いAPIを呼んでいるためラッシュが発生しているようです。
解決策
クラッシュ問題の解決策として、古いAPIを追加し新しいAPIコールに変換して呼び出すパッチ(dynlib)を作成する法法が紹介されていました。その方法は以下の通り。
patch.mの保存
次の内容のファイルをpatch.mとしてデスクトップに保存します。
#import__attribute((constructor)) void Patch_10_10_2_entry() { NSLog(@"10.10.2 patch loaded"); } @interface NSTouch () - (id)_initWithPreviousTouch:(NSTouch *)touch newPhase:(NSTouchPhase)phase position:(CGPoint)position isResting:(BOOL)isResting force:(double)force; @end @implementation NSTouch (Patch_10_10_2) - (id)_initWithPreviousTouch:(NSTouch *)touch newPhase:(NSTouchPhase)phase position:(CGPoint)position isResting:(BOOL)isResting { return [self _initWithPreviousTouch:touch newPhase:phase position:position isResting:isResting force:0]; } @end
ターミナルでコマンド実行
patch.mをコンパイルして、patch.dylibを作成さします。
clang -dynamiclib -framework AppKit ~/Desktop/patch.m -o ~/Desktop/patch.dylib
Chromeを実行
環境変数を指定してpatch.dylibを指定した後にChromeを実行します。
env DYLD_INSERT_LIBRARIES=~/Desktop/patch.dylib "/Applications/Google Chrome.app/Contents/MacOS/Google Chrome"
※都度ターミナルからこのコマンドを使ってChromeを立ち上げることを想定しているようですね。
まとめ
そのうちChromeも新APIに対応すると思われますが、それまで待て無い方は試してみると良いかもしれません。以上の手順を簡単に実行するためのAutomatorも存在しているようです。実際にコードが有効化どうか確認していませんので、「at your own risk」でお願いします。