Swift iPadアプリ、M1 Mac上での動作なのか判断する

iPadアプリ、M1 Mac上での動作なのか判断する

やりたい事、M1 MacでiPadアプリを動かすときにorientationを固定したい。

if #available(macOS 11.0, *) {
}

上記で判断つくと思ったが、iPadで動作させるとtrueに流れる。

ネット検索で見つけた記事。
https://stackoverflow.com/questions/65042788/how-to-detect-if-an-ios-app-is-running-on-an-m1-mac

Example

if #available(macOS 11.0, *) {
    print("mascOS")
}

if #available(iOS 14.0, *) {
    print("iOS")
}

var isiOSAppOnMac = false
if #available(iOS 14.0, *) {
    isiOSAppOnMac = ProcessInfo.processInfo.isiOSAppOnMac
}
print("\(isiOSAppOnMac ? "iOS app on Mac" : "not iOS on Mac")!")

iPadで動作させた結果

macOS
iOS
not iOS on Mac!

M1 Macで動作させた結果

macOS
iOS
iOS app on Mac!

Swift

Posted by shi-n