SwiftでmacOSのバージョン情報を取得するコードは下記です
let osVersion = ProcessInfo.processInfo.operatingSystemVersion print(osVersion)
NSOperatingSystemVersionというのが返るようで
majorVersion, minorVersion, patchVersionがInt型で入っています
SwiftでmacOSのバージョン情報を取得するコードは下記です
let osVersion = ProcessInfo.processInfo.operatingSystemVersion print(osVersion)
NSOperatingSystemVersionというのが返るようで
majorVersion, minorVersion, patchVersionがInt型で入っています
少しの間Xcodeでの作業がなかったでの、久々にXcodeを起動しプロジェクトを開きデバッグを行おうとしました。普通にブレークポイントを設定して何か以前と違う。
ブレークポイントで止まるのですが変数の状態がわからない。Debug Areaに何も表示されなくなりLLDBコマンドも返信来なくて下記のようなメッセージがでました。
Cannot create Swift scratch context (couldn't create a ClangImporter)(lldb)
調べてみると 下記URLのように同じような人がいました。
https://developer.apple.com/forums/thread/671753
わたしの場合、Xcode起動時にzshが起動していないようでした。なにかのアップデートタイミングで「/usr/local/bin/zsh」が消えていたようでした。lnで再度zshを貼り直すとDebug Areaに変数が表示されました。
Xcode 12 は 「Life Cycle: SwiftUI App」と言う設定ができるようになりました。

protocol App継承で下記のようなシンプルな構成になりました。そして、AppDelegate.swiftがなくなりました。
@main struct プロジェクト名: App { var body: some Scene { WindowGroup { ContentView() } } }
AppDelegateが必要な場合は、下記のようなAppDelegateクラスを用意します。
import Foundation import Cocoa class AppDelegate: NSObject, NSApplicationDelegate { func applicationDidFinishLaunching(_ aNotification: Notification) { } func applicationWillTerminate(_ aNotification: Notification) { } }
struct プロジェクト名:App{}側に@NSApplicationDelegateAdaptor()を追記してやります。
@main struct プロジェクト名: App { @NSApplicationDelegateAdaptor(AppDelegate.self) var appDelegate var body: some Scene { WindowGroup { ContentView() } } }