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