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

无夜之*_*之星辰 5 objective-c app-store appstore-approval ios ios10

Apple提供的反馈是:您的应用使用或引用了以下非公共API:

  • " init:"

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

让我最困惑的是"init:",我的意思是,"init:"有什么问题?我们不能使用"init:"?更重要的是,当我们使用非公共API时,Xcode会有什么变暖吗?我可以找到这些非公共API吗?

Rob*_*ier 3

你真的不应该使用任何带有名称的东西init:。这将是一种init只有一个参数的方法,但没有解释该参数是什么。例如:

- (instancetype) init:(NSString *)string;
Run Code Online (Sandbox Code Playgroud)

这永远是一个不正确的名字。正确的名称是:

- (instancetype) initWithName:(NSString *)string;
Run Code Online (Sandbox Code Playgroud)

(或initWithTitle:initWithSomeOtherThingButSomething:

所以我会首先搜索init:,这应该很容易修复。如果您实际上没有任何具有该名称的方法,那么这可能是 Apple 工具中的错误,您需要与 Apple 讨论。

  • 升级 AFNetworking。这听起来像是一个古老的版本(可能是 1.0 之前的版本?)。定期更新供应商库非常重要。 (3认同)