即使值“NO”, bool 也会继续返回 true

问题描述

如果 bundle 上的值为 YES,我想验证 ssl 固定,如果值为 NO,我想跳过验证。

我编写了这行代码来从主包中获取

  bool enablePinning = [[NSBundle mainBundle] objectForInfoDictionaryKey:@"SSL_PINNING_ENABLED"];

问题是 enablePinning 不断返回空 bool,即使我登录 [[NSBundle mainBundle] objectForInfoDictionaryKey:@"SSL_PINNING_ENABLED"]; 时该值是有效的

SSL_PINNING_ENABLED value

解决方法

BOOL enablePinning = [[[NSBundle mainBundle] objectForInfoDictionaryKey:@"SSL_PINNING_ENABLED"]
                                             boolValue];

boolBOOL 不是一回事。在 ObjC 中,您需要 BOOL 在这里。 objectForInfoDictionaryKey 的返回值是一个 NSNumber,然后您需要使用 -boolValue 对其进行解包。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...