Apple的框架允许您使用process info标志检测该应用程序是否在Mac上作为iOS应用程序运行isiOSAppOnMac。
此标志可从iOS 14.0获得,因此需要封装以仅在这些版本上运行。请注意,由于版本14.0也是Mac上iOS的第一个版本,因此,如果版本低于14.0,则可以放心地假定它不能在Mac上。
// Swift var isiOSAppOnMac = false if #available(iOS 14.0, *) { isiOSAppOnMac = ProcessInfo.processInfo.isiOSAppOnMac } print("\(isiOSAppOnMac ? "iOS app on Mac" : "not iOS on Mac")!")
或者,如果您更喜欢Objective-C:
// Objective-C BOOL isiOSAppOnMac = false; if (@available(iOS 14.0, *)) { isiOSAppOnMac = [NSProcessInfo processInfo].isiOSAppOnMac; } NSLog(@"%@", isiOSAppOnMac ? @"iOS app on Mac" : @"not iOS app on Mac");