Подтвердить что ты не робот

Непубличные селекторы в приложении?

Я пытаюсь отправить приложение через iTunes Connect. Xcode выдает следующую ошибку:

Не удалось выполнить операцию iTunes Store. Приложение ссылалось на непубличные селекторы в Калькуляции/Инфляции Калькулятор .app/Inflation Calculator: allocBatch:withEntity:count:,allowWithEntity:, fastIndexForKnownKey:, indexForKey:

Я понятия не имею, что "non-public selectors" я буду использовать, потому что я придерживался довольно близко к книге с моим кодом. У кого-нибудь есть идеи?

Код для контроллера вида (только .swift в моем приложении): https://gist.github.com/Calda/aefc2f19bae5f3cf2e54

EDIT: В качестве справочной информации в будущем я подтвердил с поддержкой iTunes Connect, что это проблема с iTunes Connect, а не проблема с моим проектом. Для тех, кто испытывает эту же проблему, моим лучшим советом было бы подождать и повторить попытку позже.

4b9b3361

Ответ 1

Я решил это, выполнив следующее:

изменить: я не думаю, что нужен первый шаг

1) Очистка папки сборки (Удерживайте Alt, щелкните Продукт → Очистить)

2) Удаление исходных данных (Организатор → Проекты → Выберите проект → Удалить производные данные

Ответ 2

У меня была та же проблема. Я не мог отправлять некоторые из моих приложений, потому что с помощью непубличных селекторов. Я также попытался использовать Application Loader, но все же такое же сообщение об ошибке

Чтобы решить проблему, я установил Xcode 6.0.1 - она ​​по-прежнему доступна для загрузки здесь: https://developer.apple.com/downloads/index.action

Перед установкой я переместил старый Xcode в корзину.

Теперь я могу отправить любое приложение.

Ответ 3

Для того же приложения, я получил эту ошибку сегодня на XCode 6.1. Я отправляю одно и то же приложение (небольшая вариация) 2/3 дня назад с XCode 6.0.1 без каких-либо ошибок! Просто обновил XCode 6.1 и оказался в ловушке этой ошибки.

Я переключился на XCode 6.0.1, и у него нет никаких проблем с представлением. Нет ошибки использования не публичного API. Я просто загружаю файл dmg и переименовываю xcode.app в XCode_6.0.1. Таким образом, он сосуществует с XCode 6.1.

Ответ 4

API отличается от iOS 7 и iOS 8. Я получил свое приложение, подтвержденное, переключившись на Deployment Target "8.0" - с XCode 6.1. Возможно, это не решение для всех вас, но вы можете попробовать.

Возможно, со мной случилось, потому что я недавно начал использовать UIAlertController → , похоже, для iOS-8. На iOS 7 это будет UIAlertView. Поэтому, если вы используете некоторые изящные новые функции, они, возможно, не были доступны с предыдущими версиями iOS - таким образом, не публичный API.

Ответ 5

Я удаляю все полученные данные для проектов xcode /Users/ {user_home_folder}/Library/Developer/Xcode/DerivedData Приложение было отправлено без каких-либо проблем.

Ответ 6

Я столкнулся с той же проблемой, которая была похожа на проблему Apple. Вчера я отправил одно и то же приложение (v 1.0.1), а затем отклонил его, а затем снова представил его с однострочной разницей кода. Сегодня представление было отклонено по причине, упомянутой выше.

Мне удалось решить эту проблему, используя самые последние версии всего, изменив версию # моего приложения (например, 1.0.1 → 1.0.2). Думаю, это сработало, поскольку у меня было предыдущее представление, сидящее в очереди за моей старой версией, которую я отклонил, YMMV.