Ios 含义-使用非公共API的应用程序将被拒绝

Ios 含义-使用非公共API的应用程序将被拒绝,ios,iphone,api,app-store-connect,Ios,Iphone,Api,App Store Connect,我们的应用程序因使用非公共API而被iTunes拒绝 我们发现您的应用程序使用了一个或多个非公共API,这不符合应用商店审查指南。不允许使用非公共API,因为如果这些API发生变化,可能会导致糟糕的用户体验 我们在您的应用程序中发现以下非公共API: 如果您在源代码中使用与上述API相同的名称定义了方法,我们建议更改您的方法名称,使它们不再与Apple的私有API冲突,以避免您的应用程序在将来的提交中被标记 拒绝是什么意思 这是否意味着:有一些苹果界面“SomeAppleInterface”

我们的应用程序因使用非公共API而被iTunes拒绝

我们发现您的应用程序使用了一个或多个非公共API,这不符合应用商店审查指南。不允许使用非公共API,因为如果这些API发生变化,可能会导致糟糕的用户体验

我们在您的应用程序中发现以下非公共API:

如果您在源代码中使用与上述API相同的名称定义了方法,我们建议更改您的方法名称,使它们不再与Apple的私有API冲突,以避免您的应用程序在将来的提交中被标记

拒绝是什么意思

这是否意味着:有一些苹果界面“SomeAppleInterface”

在我的代码中,我调用了apple类的私有api:

- (void)MyCodeMethod 
{
    SomeAppleInterface x;
    [x SomePrivateAPI];
}
这就是这个错误的意思吗?如果是,我如何调用这个私有方法,h文件中没有提到它?
请帮助我理解你要求澄清的原因,因为这很可能只是苹果方面的一个错误。这个列表看起来像是一堆误报。他们所说的是,您似乎正在调用一组方法,他们认为这些方法是私有API的一部分

在这个问题中,您提供了一个稻草人,向我们展示了一个不会编译的私有方法的调用。你似乎在问“我怎么会不小心调用了Apple私有API?”

问题是,很难意外地调用私有API。您可以创建一个类别
@接口
,公开私有API。还有其他的方法,但这并不是你可以偶然做的事情。您必须有意识地采取步骤调用私有API


因此,问题变成了如何从苹果那里得到假阳性报告。可能您根本没有使用Apple的私有API,但碰巧在您自己的类中有具有相同签名的方法。这可能会导致误报,只需更改方法的名称即可解决


但在这种情况下,我认为有一些完全不同的事情正在发生,我认为在你收到苹果的回复之前,不值得去追踪它。在收到他们的回复之前,没有必要对此大惊小怪。

随附的完整错误信息我不是在问如何解决问题,我想了解这个错误的含义。因此,我认为Hot Clicks的建议是正确的,你回到他们那里说“这个拒绝通知毫无意义,因为这些肯定不是私有的苹果API;请澄清”。很明显,许多(如果不是全部的话)根本不是调用私有API的尝试(也不是巧合地使用重复的方法签名)。谢谢Rob,我会这么做的,你能帮我理解非公共API的问题吗?“但碰巧在你自己的类中有具有相同签名的方法“,这是否意味着如果我使用私有方法(仅在m文件中)和苹果API的模拟名称,我也可能得到假阳性报告?或者仅仅是公共API(在h文件上)?这当然不是在.h文件的接口中包含什么的问题(因为它们没有访问权限)。它大概是在查看代码调用的方法的签名。
- (void)MyCodeMethod 
{
    SomeAppleInterface x;
    [x SomePrivateAPI];
}