NSParameterAssert 可以留在生产代码中吗?
Posted
技术标签:
【中文标题】NSParameterAssert 可以留在生产代码中吗?【英文标题】:Can NSParameterAssert be left in production code? 【发布时间】:2012-10-23 21:59:49 【问题描述】:带有 NSParameterAsserts 的代码会导致苹果拒绝你的应用吗?
【问题讨论】:
我们的应用并没有因此被拒绝。我对任意应用程序会发生什么不做任何声明,但你应该在这个问题上没问题。只要知道这对用户来说是一个崩溃,否则您可以避免崩溃(如果数据不是您所期望的)。 【参考方案1】:NSParameterAsserts 默认不在发布模式下运行。我有过让代码在 NSParameterAsserts([obj method]) 中执行的糟糕经历,这导致应用程序在发布时崩溃并在调试模式下完美运行。
【讨论】:
【参考方案2】:如果定义了预处理器宏 NS_BLOCK_ASSERTIONS,则禁用断言。所有断言宏都返回 void。
并且默认在Release
配置中定义。因此,可以将 NSParameterAsserts
留在生产环境中。
【讨论】:
以上是关于NSParameterAssert 可以留在生产代码中吗?的主要内容,如果未能解决你的问题,请参考以下文章
iOS 中 NSParameterAssert 是干啥的之官方解释翻译篇
ActiveMQ消息生产者自动注入报错:Could not autowire. No beans of 'JmsMessagingTemplate' type found(示例代码(代