在 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 验证?
简而言之
替换:
[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/
欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) | Powered by Discuz! X3.4 |