swift - 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
解决方案
推荐阅读
- qt - 创建最坏情况字符串长度 .ts 翻译文件的工具?
- javascript - 仅在 Web 浏览器上运行 AWS 应用程序时出现 Expo 错误 (AmplifyI18n)
- amazon-web-services - 如何从带有附件块的 Terraform aws_network_interface 移动到 aws_network_interface_attachment 资源
- javascript - Mapbox GL设置符号层的不透明度
- c# - 如何以管理员权限运行任何具有 Windows 服务的程序
- vuetify.js - v-container 没有应用容器行为
- knockout.js - EpiServer:如何将 TinyMce 编辑器插入 webform 的控件(ascx)?
- android - Android - Adapter 是所有 *Adapter 的超级接口吗?
- c# - SQL 可能会导致循环或多个级联路径
- python - SQLAlchemy:在存储之前映射列值