【发布时间】:2012-10-02 13:49:53
【问题描述】:
在将二进制应用程序上传到 iTunes 时,它会报告如下警告:
应用在 :setRefreshInterval 中引用了非公共选择器
- 我该如何解决这个问题?
- 哪个公共 API 可以解决这个问题 (:setRefreshInterval)?
【问题讨论】:
在将二进制应用程序上传到 iTunes 时,它会报告如下警告:
应用在 :setRefreshInterval 中引用了非公共选择器
【问题讨论】:
这意味着您使用了私有 API,而不是文档化/公共 API。如果您使用它,Apple 通常会拒绝您的应用程序,因为它们是不允许的,并且如果 Apple 更改内部系统(包括此未记录的代码),它可能会使您的应用程序崩溃。 人们会留下负面评论。
在这种情况下setRefreshInterval: 是私有方法,那么setRefreshInterval: 在你的代码中做了什么,那么也许我可以给你替代方案...
我很确定您是否使用公共 API:没有自动完成功能,另一件事是按 alt 并单击方法/属性以查看它是否有文档
【讨论】:
这意味着验证在您的应用中发现了对某些私有 API 的调用。查看警告中提到的方法,看看是否有任何不允许的内容。找到它后,尝试使用公共 API 完成同样的事情。
【讨论】:
我在 iOS 公共 API 中找不到该选择器。我在 MacOS NSTimeInterval 类中找到了它。尽管该选择器可以在 iOS 中使用,但由于它不是公开的,因此如果您打算将该应用程序推送到 AppStore,则不能在 iOS 应用程序中使用它。
【讨论】: