AppStore错误非公共API使用情况

时间:2011-11-03 09:10:57

标签: iphone app-store

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

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

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

任何帮助都是Apreciated ......

2 个答案:

答案 0 :(得分:1)

UIProgressHUD是私有类,您不能使用它。 如果您创建自己的UIProgressHUD,只需将其重命名为MYProgressHUD等。{/ p>

答案 1 :(得分:0)

我真的不同意rckoenes的回答。它也有点不清楚 - 我假设'重命名'你的意思是使用NSClassFromString动态创建类 - Apple对你提交的代码运行静态分析,所以如果你使用私有类,你需要以绕过它的方式这样做(即,从字符串等动态创建类)。但是你真的不应该使用私有类,因为不能保证它们在未来的OS版本中的行为方式相同。实际上,在iOS 5中,Apple对未记录的类进行了许多架构更改,这些更改破坏了某些应用程序中的自定义UI行为。

更好的选择是使用已建立的替代库UIProgressHUD - 这个特别好:https://github.com/jdg/MBProgressHUD

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