Ошибка AppStore Непубличное использование API - PullRequest
0 голосов
/ 03 ноября 2011

Я отправляю свое приложение в AppStore, оно выдает ошибку

Статус: недопустимый двоичный код и указывается следующая причина:

Приложение содержит или наследует от непубличных классов в MyApp: UIProgressHUD

Любая помощь будет оценена ...

Ответы [ 2 ]

1 голос
/ 03 ноября 2011

Ну, UIProgressHUD - это закрытый класс, и вы не можете его использовать.Если вы создаете UIProgressHUD себя, просто переименуйте его в несколько тонких слов, например MYProgressHUD.

0 голосов
/ 03 ноября 2011

Я не совсем согласен с ответом rckoenes.Это также немного неясно - я предполагаю, что под «переименованием» вы подразумеваете создание класса динамически с помощью NSClassFromString - Apple запускает статический анализ кода, который вы отправляете, поэтому, если вы используете частные классы, вы должны сделать это таким образом, чтобы обойти это (т.е. динамическое создание классов из строк и т. д.).Но вы действительно не должны использовать частные классы, потому что нет гарантии, что они будут вести себя так же в будущих выпусках ОС.Действительно, в iOS 5 Apple внесла ряд архитектурных изменений в недокументированные классы, которые нарушили поведение пользовательского интерфейса в некоторых приложениях.

Лучшим вариантом является использование установленной альтернативной библиотеки UIProgressHUD - этот особенно хорош: https://github.com/jdg/MBProgressHUD

Часто доступные альтернативные классы предлагают больше функциональных возможностей, чем те, которые вы пытались использовать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...