ios - 如何检测应用程序是否从 xcode 启动?

标签 ios objective-c xcode macos

如何检测我的应用程序是在编译后从 xcode 启动还是从从 iTunes 下载的包启动?

下面的代码似乎不起作用,因为当我从 xcode 构建和运行它时,else block 总是被执行。

#if (TARGET_OS_SIMULATOR)

#else
    //Xcode did not launch this app
#endif

最佳答案

我看不到这方面的广泛用途,但可以通过查看环境变量来实现。即 OS_ACTIVITY_DT_MODE"= YES 当通过 xcode 启动时

示例:

NSDictionary *environment = [[NSProcessInfo processInfo] environment];
UITextView *v = self.view.subviews.firstObject;

if([environment[@"OS_ACTIVITY_DT_MODE"] boolValue]) {
    v.text = @"xcode attached";
}
else {
    v.text = @"not xcode";
}

注意:

env 中的参数是私有(private)的并且可能会更改,但 env 可能始终是检查它的好地方。

关于ios - 如何检测应用程序是否从 xcode 启动?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41766615/

相关文章:

xcode - NSSearchField 清除按钮不响应单击

ios - Xcode 4.6 不会归档具有依赖库的目标

objective-c - 我可以在 -tableView :objectValueForTableColumn:row: 中获取列索引吗

objective-c - 增加图像中像素之间的距离

iphone - Codesign 返回 xcode iphone 项目的退出代码 11 -- 找不到有关退出代码 11 的文档

ios - 如何在 iOS 中初始化该协议(protocol)?

ios - 如何为自动调整单元格正确设置自动布局约束

ios - 将 UIImage 写入具有 gps 坐标的路径

ios - 如何显示 AirPlay 菜单 SwiftUI

ios - 如何创建一个 UIBackgroundTask 以在应用程序处于后台时发送数据?