该应用在 Payload/App Name.app 中引用了非公共选择器
Posted
技术标签:
【中文标题】该应用在 Payload/App Name.app 中引用了非公共选择器【英文标题】:The app references non-public selectors in Payload/App Name.app 【发布时间】:2014-05-20 16:54:27 【问题描述】:我在验证我的应用程序时遇到问题,说我正在访问非公共选择器 cancelButtonPressed:
。这个选择器在我的静态库中被调用,如下所示:
else if([self.delegate respondsToSelector:@selector(cancelButtonPressed:)])[self.delegate cancelButtonPressed:senderButton];
这是私有方法吗?当我在此之前发布应用程序时,这并没有引起任何问题。我需要解决这个问题,还是 Apple 会发现我没有调用私有方法?
【问题讨论】:
【参考方案1】:是的 cancelButtonPressed:
是 Apple 私有方法。要仅检查 option,请单击 cancelButtonPressed
以查看它是一种公共方法。
是的,您将不得不停止使用它。
是的,Apple 有时会漏掉一些东西,然后再抓住它们。
也许是@selector(cancelButtonPressed:)
有问题,而不是直接调用触发Apple 私有方法catch 的实例。
【讨论】:
所以,我将不得不停止使用它,即使它只是我的委托中包含的常规方法之一?此外,是否有一个私有方法列表可供概述,以便我将来避免这种麻烦?另外,这个选择器属于哪个对象? 这是个问题,以前也出现过。也许是@selector(cancelButtonPressed:)
有问题,而不是直接调用触发 Apple 私有方法 catch 的实例。
选项 click 对我没有帮助,因为该方法在我的 protocol
声明中。在这种情况下使用选项点击有什么用?【参考方案2】:
方法名很可能与Apple方法名冲突,导致误报使用私有API的问题。
尝试更改委托中的方法名称
【讨论】:
以上是关于该应用在 Payload/App Name.app 中引用了非公共选择器的主要内容,如果未能解决你的问题,请参考以下文章