检测 iOS 应用程序是不是在发布版本的调试器中运行

Posted

技术标签:

【中文标题】检测 iOS 应用程序是不是在发布版本的调试器中运行【英文标题】:Detecting if iOS app is run in debugger in a release build检测 iOS 应用程序是否在发布版本的调试器中运行 【发布时间】:2019-05-31 17:50:25 【问题描述】:

我正在开发一个将在 ios 应用程序中使用的 SDK。当我发布 SDK 时,我想收集有关使用我的 SDK 的应用程序在运行时是否在调试器下运行的数据。

This Apple developer blog post 展示了如何检测这一点,但它明确指出您应该只在程序的调试版本中使用代码。因为我将构建 SDK 的发布版本,所以包含它似乎不安全。

【问题讨论】:

Detect if Swift app is being run from Xcode的可能重复 【参考方案1】:

这个块可以工作并且是生产安全的。

#if DEBUG
    //Do something on debug
#else
    // Do something on prod
#endif

【讨论】:

当然,但我说的是 SDK,而不是应用程序。所以我不能强制使用 SDK 的应用程序会像这样编写 ifdef。 @jparismorgan 如果它是一个 iOS SDK 那么你绝对可以。

以上是关于检测 iOS 应用程序是不是在发布版本的调试器中运行的主要内容,如果未能解决你的问题,请参考以下文章

Cordova:无论如何,是不是可以在 Javascript 中检测 iOS 应用程序是作为调试版还是作为发布版构建的?

检测 qt 是不是在运行时运行调试构建

在调试器中运行时中断下一个输出

Spring Cloud Kubernetes 应用程序在 Pod 中运行时未检测到

如何在 react-native iOS 应用程序中运行时读取 Info.Plist?

如何在 react-native iOS 应用程序中运行时读取 Info.Plist?