检测应用程序是否在iOS 11中的模拟器或设备上运行

时间:2017-12-18 19:01:36

标签: ios swift

虽然在旧环境中多次询问过这个问题,但当我尝试在运行iOS 11.2的设备上运行@ mbelsky answer时,下面代码的模拟器块会运行,而不是设备块。当我在模拟器上运行代码时,模拟器按预期运行。

@IBOutlet weak var testSimulatorFlag: UILabel! {
    didSet {
        #if IOS_SIMULATOR
            testSimulatorFlag.text = "Compiler thinks this is a simulator"
        #else
            testSimulatorFlag.text = "Compiler thinks this is a device"
        #endif
    }
}

这是项目的Swift-Compiler,Custom Flags如何设置的屏幕截图:

Screenshot

Here是一个演示该问题的示例项目。提前感谢任何建议。

1 个答案:

答案 0 :(得分:4)

我发现最可靠的方法是:

df['New']=(df.other_ids.apply(set)!=(df.other_ids.apply(set)-set(l))).astype(int)
df
Out[114]: 
   id   other_ids  New
0   1  [abc, efg]    1
1   2       [bbb]    0
2   3  [ccc, ddd]    1