Apple 拒绝了用于非 public api 且没有任何非公共 api 的应用

Apple rejected an app that for use on non public api where there aren't any non pulic apis

这是我从 Apple 收到的拒绝我的应用程序的消息:

Your app uses or references the following non-public APIs:

didDetermineState:forRegion:
didEnterRegion:
didExitRegion:

The use of non-public APIs is not permitted on the App Store because it can lead to a poor user experience should these APIs change.

api明明是public,真不知道该怎么办了。有人有建议吗?这真的很有帮助。

我认为你提到的 public api 是 CLLocationManagerDelegate 中的那些。如果是的话,就拿didEnterRegion:来说,这个api其实就是locationManager:didEnterRegion:。但是,Apple 仅提及 didEnterRegion:。这可能意味着在您的应用程序的某个地方,您已经 声明了 具有完全相同签名的方法,并且它恰好与私有 api 方法具有相同的签名。

我的建议是在整个项目中搜索此类方法并重命名它们。