相关疑难解决方法(0)

生产构建中的断言会导致崩溃

assert(condition, "message")我的项目中有几条陈述.

它们用于在开发期间检查不变条件.我认为在生产/发布版本中会忽略它们(如本答案中所述).他们不是.相反,它们会在TestFlight测试期间导致崩溃.当我评论断言时,应用程序不会崩溃.有些东西通常会出错,但不会崩溃.

可以用我的构建设置吗?

我的所有归档方案都使用发布配置:

在此输入图像描述

断言位于Cocoa Touch Framework项目中,该项目用于自定义键盘扩展.

所有项目中的所有目标(Cocoa Touch Framework以及具有键盘扩展目标的主项目)都具有以下构建设置:

Enable Foundation Assertions
    Debug    YES
    Release  NO

Disable Safety Checks  NO
Run Code Online (Sandbox Code Playgroud)

怎么了?


编辑:

Sulthan的答案显示了如何为调试和重新构建全局禁用断言.这不是我需要的.我希望它按预期工作 - 断言应在调试中启用,但在发布版本中禁用.

默认情况下它以这种方式工作 - 它也在我的主项目中以这种方式工作.但它不适用于从该主项目链接的Framework项目中的断言(此问题中的详细信息).为什么?怎么解决?

xcode assert build-settings ios swift

6
推荐指数
1
解决办法
1361
查看次数

标签 统计

assert ×1

build-settings ×1

ios ×1

swift ×1

xcode ×1