在 Xcode Organizer 中 [Validating...] iOS App 时出现此错误:
应用引用 Payload/name.app/scheme: hidden 中的非公共(public)选择器 。
但是,hidden 是 UIView.h 中定义的公共(public)属性:
@property(nonatomic,getter=isHidden) BOOL hidden;
什么会导致公共(public)选择器的调用未能通过 Apple App Store 验证?
Best Answer-推荐答案 strong>
简而言之
替换:
[self addObserver:self
forKeyPath:NSStringFromSelector(@selector(hidden))
options:NSKeyValueObservingOptionNew
context:nil];
作者:
[self addObserver:self
forKeyPath"hidden"
options:NSKeyValueObservingOptionNew
context:nil];
详情
以下NSHipster在 KVO(键值观察)上,我使用 NSStringFromSelector(@selector(hidden)) 作为键路径,因为事实上,“...任何拼写错误或拼写错误都不会被捕获由编译器,并会导致事情不工作。“
事实证明,hidden 属性有一个显式的 getter,它与属性名称不同:
@property(nonatomic,getter=isHidden) BOOL 隐藏;
我也用 opaque 属性验证了这一点。
@property(nonatomic,getter=isOpaque) BOOL 不透明;
它也未能通过验证:
应用在 Payload/name.app/scheme 中引用了非公共(public)选择器:不透明。
关于ios - 该应用程序在 Payload : hidden 中引用了非公共(public)选择器,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/24469806/
|