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