Objective c iOS10:由于名为“的方法”而拒绝应用程序;“移除通风口”;

Objective c iOS10:由于名为“的方法”而拒绝应用程序;“移除通风口”;,objective-c,appstore-approval,ios10,private-methods,Objective C,Appstore Approval,Ios10,Private Methods,是否有在应用程序中编译时不允许使用的方法列表?还是不允许的语法 最近Connect发出此消息,我们的应用程序因removeEvents方法名称而被拒绝: 您的应用程序使用或引用以下非公共API: 移除事件: 不允许在App Store上使用非公共API,因为如果这些API发生变化,可能会导致糟糕的用户体验 结束。没有关于这个发现的更多细节 该方法在应用程序中用于核心数据对象(从NSManagedObject子类)。对象(和方法)由生成已有相当长的一段时间。我在iOS10的更新评论中没有找到与此相

是否有在应用程序中编译时不允许使用的方法列表?还是不允许的语法

最近Connect发出此消息,我们的应用程序因removeEvents方法名称而被拒绝:

您的应用程序使用或引用以下非公共API:

移除事件:

不允许在App Store上使用非公共API,因为如果这些API发生变化,可能会导致糟糕的用户体验


结束。没有关于这个发现的更多细节

该方法在应用程序中用于核心数据对象(从NSManagedObject子类)。对象(和方法)由生成已有相当长的一段时间。我在iOS10的更新评论中没有找到与此相关的参考资料

问题是,在苹果的拒绝声明中,没有私人api,也没有传统的对象描述,也没有任何原则可以让我在下一次批准应用程序时避免这种情况。然后,它使审查成为一个不可预测的过程

我用nm或otool都找不到这种方法的任何痕迹。他们都没有找到这方面的参考资料


编辑:在iTunes Connect中,可以选择向应用程序审查委员会提交上诉。我以前没有注意到这一点。问题是他们什么时候会审查审查。

没有更多详细信息吗?那样的话,你没有仔细阅读。将有一个到拒绝的链接,该链接准确地解释了如果拒绝发生在第三方库中,该如何查找。我去过那里,做过那件事

因此,你可以提出投诉,他们会嘲笑你,因为你没有阅读应用拒绝

为了省去麻烦,请搜索您自己的源代码,然后使用字符串和otool工具查找导致问题的库,更新库并检查问题是否消失


如果您根据自己的评论使用removeEvents,请修复代码

审查委员会的一名成员与我们联系,确认获取与私有api冲突信息的唯一方法是让应用程序通过审查过程。苹果公司提出在两天内完成一项新的审查,他们也这样做了


我已经重命名了该方法,并且该应用没有被拒绝。

看起来像是误报,因为您为自己的类使用了一个方法名称,而该名称在苹果的一个类中是私有的。试着回应苹果,让他们重新考虑他们的决定。(我认为这与Objective-C的性质有关,在Objective-C中,方法名是可见的,但很难说它被发送到了哪个类。)我猜,他们扫描了二进制文件及其在任何框架中的黑名单方法,然后拒绝了它。您可以让他们使用iTunesConnect resolution center再次查看。您是否有任何第三方依赖关系可能会使用这样的方法?@Codo有什么方法可以投诉吗?因为这条信息提供的唯一链接是苹果的技术支持。我可以使用工具-ov-myAppBinary | sort | uniq | grepRemoveEvent来表示方法(但它并不存在)。唯一使用此removeEvents的地方是我们自己的NSManagedObject子类。谢谢Adil和sandy。你的应用程序在上传过程中被拒绝了,还是在官方审核过程中被拒绝了?如果是前一个,那么我帮不了你,因为我没有这方面的经验。没有更多关于我所指发现的细节。此外,我在帖子中写道,我使用了这些工具,但没有列出这样的方法。removeEvents并不像这篇文章所解释的那样是私有API的一部分。那么新审查的结果是什么呢?