有#if targetEnvironment(simulator)
编译器指令,如果有一种方法可以判断设备上运行的应用程序是否从 Xcode 启动并连接到调试器,那将很有用。
有没有办法在应用程序中检测到这一点?
使用调试/发布版本和DEBUG
变量不太适合我们的情况。
是的,您可以将启动参数放在您的方案中(编辑方案 -> run -> 参数(,这些参数仅在从 Xcode 启动时应用,如果通过点击应用程序图标启动或从应用商店下载,这些启动参数将不存在,因此您将能够判断应用程序是否从 Xcode 启动。
你可以通过去获得一个启动参数
if NSProcessInfo.processInfo().environment["ARGUMENT_NAME"] != nil {
// launched from Xcode
}