Sponsor Link
環境&対象
- macOS Sonoma Beta 7
- Xcode 15 Beta 8
- iOS 17 Beta 8
- Swift 5.9
アプリの終了
iOS アプリではほとんど意識しませんが、macOS アプリでは、メニューバーに “Quit” メニューが用意され、ユーザーがアプリを終了できるようになっています。
Xcode が作成したテンプレートを使うと、その辺りは処理されているので 特にコードを書く必要はありません。
しかし、メニューバーアプリを作ると、自分でコードを書いて アプリを終了させることが必要となります。
# なお、メニューバーアプリから 終了できないと AppStore Review で Reject されます。
SwiftUI からは、アプリ終了できない?!
現時点(2023.Sep) では、SwiftUI は、アプリの終了をサポートしていません。
もちろん、App プロトコル(?) はそのような機能をサポートしているはずですが、開発者向けに 公開はされていません。
SwiftUI では実現できませんが、もちろん(?) AppKit を使えば 可能となります。
NSApplication
アプリ全体に関わるので、使用するクラスは、NSApplication です。
Apple のドキュメントは、こちら。
アプリを終了するには、terminate メソッドを使います。
Apple のドキュメントは、こちら。
例えば、押下したときに アプリが終了するボタンは以下のようになります。
Button(action: {
NSApplication.shared.terminate(nil)
}, label: {
Text("Quit")
})
まとめ
プログラム的にアプリを終了させる方法
- SwiftUI には用意されていない
- NSApplication を使用する
- NSApplication.shared.terminate を呼び出すことで終了できる
説明は以上です。
不明な点やおかしな点ありましたら、こちらまで。
SwiftUI おすすめ本
SwiftUI を理解するには、以下の本がおすすめです。
SwiftUI ViewMatery
SwiftUI で開発していくときに、ViewやLayoutのための適切なmodifierを探すのが大変です。
英語での説明になってしまいますが、以下の”SwiftUI Views Mastery Bundle”という本がビジュアル的に確認して探せるので、便利です。
英語ではありますが、1ページに コードと画面が並んでいるので、非常にわかりやすいです。
View に適用できる modifier もわかりやすく説明されているので、ビューの理解だけではなく、どのような装飾ができるかも簡単にわかります。
超便利です
販売元のページは、こちらです。
SwiftUI 徹底入門
# SwiftUI は、毎年大きく改善されていますので、少し古くなってしまいましたが、いまでも 定番本です。
Swift学習におすすめの本
詳解Swift
Swift の学習には、詳解 Swift という書籍が、おすすめです。
著者は、Swift の初期から書籍を出していますし、Swift の前に主力言語だった Objective-C という言語についても同様の書籍を出しています。
最新版を購入するのがおすすめです。
現時点では、上記の Swift 5 に対応した第5版が最新版です。
Sponsor Link