cocoaでアプリケーション二重起動を抑制する

Pocket

こんにちは。今回はcocoaアプリケーションにて多重起動を制御する方法を説明します。

アプリケーションの二重起動を禁止したい場合、WindowsではグローバルMutexを使うのがセオリーなのですが、Objective-Cでは同様の機能は利用出来ないようです。
そこで、方法はいくつか考えられますが今回は起動中のアプリケーション群と自分自身を比較する方法で実装する事にしました。
説明が面倒なので今回もいきなりコードを書きます。

内容も単純なのでソースのコメントを読めば動作は把握出来ると思います。
これをApplicationDidFinishLaunching等で実行して、必要なら[NSApp terminate:self]等すれば多重起動禁止処理が実装出来ます。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です