首页 > 解决方案 > Xcode 13 和 Cocoapods,如何禁用断言?

问题描述

我想禁用断言以避免在调试阶段(不仅仅是发布)安装了 Cocoapods 的第三方库的断言失败。为了达到这个目标,我从我的项目部分禁用了 Enable Foundation Assertions ,如下图所示:

在此处输入图像描述

对于我的目标部分:

在此处输入图像描述

对于 Pod,我已经更改了我的Podfile,在 end 语句之前的底部添加了以下代码:

post_install do |installer|
  installer.pods_project.build_configurations.each do |config|
    config.build_settings['ENABLE_NS_ASSERTIONS'] = 'NO'
  end
  installer.pods_project.targets.each do |target|
    target.build_configurations.each do |config|
      config.build_settings['ENABLE_NS_ASSERTIONS'] = 'NO'
    end
  end
end

当我在 Xcode 上打开我的项目工作区时,我看到 Pods 项目部分和所有目标部分的相同参数在调试和发布时都变为 NO。

现在我的模拟器处于调试模式,当我启动我的应用程序断言仍然有效并且我的应用程序仍然停止断言失败:

assert(false,"warning, change your file name with this...")

还有其他我忘记的参数可以关闭吗?

PS:Xcode 13 最终版(13A233)Cocoapods v1.11.2

标签: swiftxcodecocoapodsassertion

解决方案


推荐阅读