我是这项技术的新手。
从已加载的应用程序上传应用程序时,我收到以下警告。
警告说“应用程序引用了“应用程序名称”实例中的非公共选择器,viewController “
请帮我解决这个警告。
提前致谢!
编辑
图片 :-
编辑 :-
我的申请会获得批准吗?
我是这项技术的新手。
从已加载的应用程序上传应用程序时,我收到以下警告。
警告说“应用程序引用了“应用程序名称”实例中的非公共选择器,viewController “
请帮我解决这个警告。
提前致谢!
编辑
图片 :-
编辑 :-
我的申请会获得批准吗?
使用应用扫描仪。它会分析您的 .app 文件以了解私有 API 方法的使用情况。
它将捕获与私有 API 方法命名相同的方法,即使它有自己的实现。此外,它会在方法中捕获 @selectors(就像官方的 iOS 自动检查器一样)。
当 performSelector: 使用作为私有方法的选择器调用时,App Scanner 无法捕捉到这种情况。但是,Apple 的工具确实可以解决这种情况。
另一个 Alternative APP Kit,虽然我没用过。试试看。
如果您还没有,请查看此问答。Apple 怎么知道你在使用私有 API?. 看起来很有帮助。
在整个项目中搜索 viewController 并搜索是否有任何单例实现。即使Apple批准您的申请,您的申请中也有非公共部门是不好的。您还可以使用应用扫描仪
希望对你有帮助
在出现此错误之前,您添加到代码中的最后一件事是什么?正如我上面的链接所指出的,该错误意味着您有一个私有 API 调用。
如果您认为这不是您的代码,那么它可能是任何包含的代码。
@iPhoneDev:我猜你的申请不会因为这个原因被拒绝。因为我在我的一个应用程序中遇到了这个警告,并且它被成功接受了。所以不用担心
我认为您可能instance
在代码中的某处命名了一个函数,例如:
+(id)instance{
return something;
}
..也许是单例实现?如果是这种情况,只需重命名它。
尽管应用程序触发了类似的警报,但我已经看到获得批准的应用程序,但是您为什么要冒被拒绝的风险呢?
几乎可以肯定会因此而被拒绝。
只是一个猜测,但搜索“viewController”并查看您是否引用了私有实例方法,或者可能通过点表示法引用私有实例变量:.viewController
不,您的应用会像这样被拒绝。确实。Apple 审查团队使用与 Xcode 相同的检查以及更多检查。