我收到此错误时[验证...]的iOS应用在Xcode主办单位:该应用程序引用有效载荷非公开选择:隐藏
The app references non-public selectors in Payload/name.app/scheme: hidden
。
然而,hidden
是在UIView.h定义为一个公共属性:(非原子,吸气剂=是否隐藏)
@property BOOL隐藏;
什么会导致公共选择器的调用失败Apple App Store验证?
我收到此错误时[验证...]的iOS应用在Xcode主办单位:该应用程序引用有效载荷非公开选择:隐藏
The app references non-public selectors in Payload/name.app/scheme: hidden
。
然而,hidden
是在UIView.h定义为一个公共属性:(非原子,吸气剂=是否隐藏)
@property BOOL隐藏;
什么会导致公共选择器的调用失败Apple App Store验证?
总之
替换:
[self addObserver:self
forKeyPath:NSStringFromSelector(@selector(hidden))
options:NSKeyValueObservingOptionNew
context:nil];
由:
[self addObserver:self
forKeyPath:@"hidden"
options:NSKeyValueObservingOptionNew
context:nil];
在细节
在上下列NSHipster KVO(Key-Value Observing),我使用NSStringFromSelector(@selector(hidden))
作为关键路径,因为实际上,“...任何错字或拼写错误都不会被编译器捕获,并且会导致事情无法工作。“
事实证明,该hidden
酒店有一个明确的getter,它是从属性的名称不同:
@property(nonatomic,getter=isHidden) BOOL hidden;
我与opaque
财产验证了这一点,以及
@property(nonatomic,getter=isOpaque) BOOL opaque;
它也验证失败: 应用程序refe在有效载荷/ 名称 .app/方案:不透明。