Iphone AppStore错误非公共API使用

Iphone AppStore错误非公共API使用,iphone,app-store,Iphone,App Store,我正在将我的应用程序提交到AppStore,它给了我一个错误 状态:无效二进制文件,并给出如下原因 该应用程序包含MyApp:UIProgressHUD中的非公共类或从中继承 欢迎提供任何帮助。嗯UIProgressHUD是一个私有类,不允许您使用它。 如果您自己创建了UIProgressHUD只需将其重命名为MYProgressHUD之类的名称,我并不完全同意Rckones的回答。还有一点不清楚-我假设“重命名”的意思是使用NSClassFromString动态创建类-Apple对您提交的代码

我正在将我的应用程序提交到AppStore,它给了我一个错误

状态:无效二进制文件,并给出如下原因

该应用程序包含MyApp:UIProgressHUD中的非公共类或从中继承


欢迎提供任何帮助。

UIProgressHUD
是一个私有类,不允许您使用它。
如果您自己创建了
UIProgressHUD
只需将其重命名为
MYProgressHUD

之类的名称,我并不完全同意Rckones的回答。还有一点不清楚-我假设“重命名”的意思是使用NSClassFromString动态创建类-Apple对您提交的代码运行静态分析,因此如果您使用私有类,您需要以绕过该类的方式执行此操作(即,从字符串动态创建类,等等)。但是您确实不应该使用私有类,因为不能保证它们在未来的操作系统版本中会以相同的方式运行。事实上,在iOS 5中,苹果对未记录的类进行了大量架构更改,打破了某些应用程序中的自定义UI行为

更好的选择是使用一个已建立的替代库来替代
UIProgressHUD
——这个库特别好:


通常,可用的替代类提供的功能比您尝试使用的私有类更多。

API规定允许您使用私有框架,因此即使您尝试隐藏,苹果也可以在以后拉取您的应用程序。你违反了与苹果公司的合同。是的,MBProgressHUD是一个很好的替代品。