由于Apple更新了m1芯片的Mac,導(dǎo)致iOS程序可以在Mac上直接運(yùn)行,因此需要判斷一下我們的App是跑在了Mac上還是跑在了iPhone上。
因?yàn)閙1芯片的Mac上只能運(yùn)行iOS14及以上系統(tǒng)(當(dāng)然未來說不定有大能會(huì)移植低版本iOS系統(tǒng)到Mac上),因此我們只需要判斷iOS14之后的系統(tǒng)即可:
var isMac = false
if #available(iOS 14.0, *) {
isMac = ProcessInfo.processInfo.isiOSAppOnMac
}
print("\(isMac ? "App on Mac" : "App not on Mac")!")
當(dāng)然铺浇,還可以直接獲取設(shè)備型號(hào):
#import <sys/utsname.h>
+ (void)deviceModel {
struct utsname systemInfo;
uname(&systemInfo);
NSString *deviceModel = [NSString stringWithCString:systemInfo.machine encoding:NSUTF8StringEncoding];
NSLog(@"%@", deviceModel);
}
"MacBookAir10,1": "MacBook Air (M1, 2020)",
"MacBookPro17,1": "MacBook Pro (13-inch, M1, 2020)",
"Macmini9,1": "Mac mini (M1, 2020)",