2

将二进制应用程序上传到 iTunes 时,它会报告如下警告:

该应用程序在 :setRefreshInterval 中引用了非公共选择器

  • 我该如何解决这个问题?
  • 哪个公共 API 可以解决问题 (:setRefreshInterval) ?
4

3 回答 3

2

这意味着您使用了私有 API,而不是文档化/公共 API。如果您使用它,Apple 通常会拒绝您的应用程序,因为它们是不允许的,并且如果 Apple 更改内部系统(包括此未记录的代码),它可能会使您的应用程序崩溃。人们会留下负面评价。

在这种情况下setRefreshInterval:是私有方法,那么setRefreshInterval:在你的代码中做了什么,那么也许我可以给你替代方案......

我很确定检查您是否使用公共 API:没有自动完成功能,另一件事是按 alt 并单击方法/属性以查看它是否有文档

于 2012-10-02T14:14:04.293 回答
1

这意味着验证已经在您的应用程序中发现了对某些私有 API 的调用。查看警告中提到的方法,看看是否有任何不允许的内容。找到它后,尝试使用公共 API 完成同样的事情。

于 2012-10-02T14:05:41.893 回答
0

我在 iOS 公共 API 中找不到该选择器。我在 MacOS NSTimeInterval 类中找到了它。尽管该选择器可以在 iOS 中使用,但由于它不是公开的,因此如果您打算将该应用程序推送到 AppStore,则不能在 iOS 应用程序中使用它。

于 2012-10-02T14:11:13.373 回答