【swift】アプリアイコンにドラッグ&ドロップしてアプリを起動【cocoa】


Xcode で Mac(cocoa) アプリの作り方を勉強しているのですが、表題についての解説が少なかったので備忘録。
つーか、基本過ぎて解説するまでもなかったのだろうか?

まず、アプリのプロジェクトを選択して、Info を編集します。
Document Types を開いて「+」を押すと、受け付けるファイルタイプを追加できます。

Name : 適当に分かりやすい名前をつけます。
Class : 使わなければ空欄でOK。
Extensions : 受け付けるファイルの拡張子を指定。複数ある場合は、カンマ「,」で列記できるようです。
Icon : 空欄でOK。
Identifier : 空欄でOK。
Role : 良く分かってないのですが、None にすると無処理になってしまうみたいなので、Editor か Viewer で。
Mime Types : 空欄でOK。
Bundle : これも良く分からないのですが、デフォルトにしておけば良いような気がしますが、複数ファイルを受け付けなければチェックを外しておいたほうが良いかも知れないです。


以上で設定は終了。
で、AppDelegate.swift に以下のコードを追加。


  func application(sender: NSApplication, openFile filename: String) -> Bool {
    //ドラッグ&ドロップでファイルを受け付けたときに行いたい処理
  }



以上で、アプリアイコンにドラッグ&ドロップしてアプリが起動するハズ。
ちなみに、ドラッグ&ドロップでアプリを起動しても、当然ながら func applicationDidFinishLaunchong~ を処理します。


この動作をデバッガで検証する方法が分からなかったので、.app 化(リリース・ビルド?)してみたので、その手順もついでに。

Product メニューから Archive を選択。
新しいウィンドウが開くので、そこの右上の Export... ボタンを押して、エクスポートしたいファイル形式を選択。
保存先を選択して OK ボタンを押す。


以上で .app 書き出されます。

スポンサーサイト

コメント

非公開コメント