【问题标题】:Can NSParameterAssert be left in production code?NSParameterAssert 可以留在生产代码中吗?
【发布时间】:2012-10-23 21:59:49
【问题描述】:

带有 NSParameterAsserts 的代码会导致苹果拒绝你的应用吗?

【问题讨论】:

  • 我们的应用并没有因此被拒绝。我对任意应用程序会发生什么不做任何声明,但你应该在这个问题上没问题。只要知道这对用户来说是一个崩溃,否则您可以避免崩溃(如果数据不是您所期望的)。

标签: ios xcode app-store app-store-connect


【解决方案1】:

NSParameterAsserts 默认不在发布模式下运行。我有过让代码在 NSParameterAsserts([obj method]) 中执行的糟糕经历,这导致应用程序在发布时崩溃并在调试模式下完美运行。

【讨论】:

    【解决方案2】:

    如果定义了预处理器宏 NS_BLOCK_ASSERTIONS,则禁用断言。所有断言宏都返回 void。

    并且默认在Release配置中定义。因此,可以将 NSParameterAsserts 留在生产环境中。

    【讨论】:

      猜你喜欢
      • 2011-02-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多