Ошибка команды App Store о том, что ваше приложение содержит биткод после отправки приложения

Я никогда раньше не слышал об этом термине bitcode и даже не знаю, с чего начать поиски решения этой проблемы.

Я использую Xcode 7 beta 3, и я успешно загрузил свое приложение 3 раза, но каждый раз, когда я загружаю его, оно меняет статус на invalid binary.

Я получил электронное письмо от команды App Store, в котором говорится об этом

«Недопустимый исполняемый файл — исполняемый файл ESUHSD.app/ESUHSD содержит битовый код».

Я не знаю, какую информацию вам нужно знать о приложении, поэтому я надеялся, что любая помощь будет оценена по достоинству!


person Cyril    schedule 20.07.2015    source источник
comment
Некоторая информация здесь developer.apple.com/library/prerelease/watchos/documentation/   -  person Fredrik Pihl    schedule 21.07.2015
comment
Меня интересует это решение. Я думаю, что приложения должны содержать биткод   -  person André Fratelli    schedule 21.07.2015
comment
Тот факт, что вы загружаете приложение в магазин приложений, используя xcode 7 beta 3, является вашей проблемой. Вы не можете загружать приложения, используя бета-версии xcode.   -  person Popeye    schedule 21.07.2015
comment
Итак, вы не успешно загрузили его, верно? Xcode 7 является бета-версией. Это не принято, пока Xcode 7 не будет выпущен.   -  person gnasher729    schedule 21.07.2015
comment
@Cyril Ivar Garcia: Вы действительно успешно загрузили бета-версию? Я вижу, что принятый ответ подразумевает, что вы это сделали, поэтому есть несколько (возможно) ошибочных сообщений...   -  person rholmes    schedule 23.07.2015
comment
Кроме того, вы планируете выпуск или бета-тестирование... Спасибо...   -  person rholmes    schedule 23.07.2015
comment
@rholmes да, я собирался отправить на бета-тестирование с помощью тестового полета.   -  person Cyril    schedule 23.07.2015


Ответы (3)


Прежде всего, я не думаю, что вы можете отправлять какие-либо выпуски приложений, созданные с помощью бета-версии Xcode (даже если вы ориентируетесь на существующую комбинацию iOS/WatchKit SDK).

Что касается «биткода», перейдите на сайт developer.apple.com и посмотрите видеоролики WWDC по «прореживанию приложений», а также соответствующую документацию для следующего выпуска.

Для отправки приложения на бета-тестирование это другая история. В целом это возможно, но могут быть некоторые особенности; ответ @Jan охватывает особенности бета-версии Xcode 7, связанные с бит-кодом.

Ссылки, в которых говорится, что выпуск приложений с бета-версиями Xcode не следует отправлять в AppStore, см. в следующих сообщениях (если у вас есть окончательные документы от Apple, было бы здорово добавить ссылку):

На форумах разработчиков Apple принятый ответ заключается в том, что вы никогда не сможете отправлять сообщения с использованием бета-версии Xcode, и несколько человек заявляют, что вам никогда не разрешалось отправлять сообщения с использованием бета-версии программного обеспечения. В одном разделе упоминается обходной путь в отношении битового кода и отправки, но было предложено, чтобы это было ПОСЛЕ официального выпуска Xcode 7: Форум Apple: можно ли отправить в App Store приложение, созданное с помощью Xcode 7, если вы не ориентируетесь на iOS 9?

Из StackOverflow: принятый ответ соглашается с тем, что отправка приложений с использованием бета-версии Xcode запрещена: Обходной путь для отправки приложения в магазин приложений с помощью Xcode 7

Из StackOverflow: «Приложение должно быть скомпилировано с выпускной версией Xcode» является принятым ответом: Отправляете приложение iOS с помощью бета-версии xcode?

Кроме того, в техническом документе Apple по отправке в App Store говорится, что вы должны использовать последние версии Xcode и SDK — в них не упоминается бета-версия и версия, но ссылка на «последнюю» ведет к последней релизу< /strong> версия Xcode, доступная в Mac App Store. См. Технические вопросы и ответы QA1806: что версию Xcode и SDK, которую следует использовать при сборке для App Store?

ПРИМЕЧАНИЕ. Отредактировано на основе заявленного намерения OP в комментарии для бета-тестирования, а не выпуска сборки для предыдущего SDK.

person rholmes    schedule 20.07.2015

Я пытался отключить биткод и все остальные параметры, но это не сработало. Я продолжаю получать недопустимый исполняемый файл, хотя до обновления я смог отправить тестовую сборку из Xcode 7 b3 и swift 2. После этого я использовал несколько стручков какао для оптимизации приложения, и теперь, когда я хочу его протестировать, он выдает эта ошибка:

Invalid Swift Support - The bundle contains an invalid implementation of Swift. The app may have been built or signed with non-compliant or pre-release tools. Visit developer.apple.com for more information.

Invalid Executable - The executable 'myApp.app/Frameworks/libswiftSecurity.dylib' contains bitcode.

Invalid Executable - The executable 'myApp.app/Frameworks/libswiftCoreGraphics.dylib' contains bitcode.

Invalid Executable - The executable 'myApp.app/Frameworks/libswiftObjectiveC.dylib' contains bitcode.

Invalid Executable - The executable 'myApp.app/Frameworks/libswiftUIKit.dylib' contains bitcode.

Invalid Executable - The executable 'myApp.app/Frameworks/libswiftCoreImage.dylib' contains bitcode.

Invalid Executable - The executable 'myApp.app/Frameworks/libswiftDarwin.dylib' contains bitcode.

Invalid Executable - The executable 'myApp.app/Frameworks/libswiftDispatch.dylib' contains bitcode.

Invalid Executable - The executable 'YTDemo.app/Frameworks/libswiftFoundation.dylib' contains bitcode.

Invalid Executable - The executable 'myApp.app/Frameworks/libswiftCore.dylib' contains bitcode.

Хотя от вас не требуется исправлять следующие проблемы, мы хотим, чтобы вы знали о них:

Отсутствует право на push-уведомления. Похоже, ваше приложение включает API, используемый для регистрации в службе Apple Push-уведомлений, но права подписи приложения не включают право «aps-environment». Если ваше приложение использует службу push-уведомлений Apple, убедитесь, что ваш идентификатор приложения включен для push-уведомлений на портале подготовки, и повторите отправку после подписания приложения с профилем подготовки распространения, включающим право «aps-environment». Дополнительную информацию см. в разделе «Инициализация и разработка» в Руководстве по программированию локальных и push-уведомлений. Если ваше приложение не использует службу push-уведомлений Apple, никаких действий не требуется. Вы можете удалить API из будущих отправок, чтобы убрать это предупреждение. Если вы используете стороннюю платформу, вам может потребоваться связаться с разработчиком для получения информации об удалении API.

После внесения необходимых исправлений вы можете повторно доставить исправленный двоичный файл.

person zaam    schedule 02.08.2015
comment
У меня точно такая же проблема. Я отключил биткод для своего основного проекта Pods и фреймворков, которые я использую, но все равно получаю те же ошибки, что и maaz. - person aaronhuisinga; 03.08.2015

Вы все еще можете отправить в AppStore, если хотите. По крайней мере, мне нужно было для бета-тестирования. Вам просто нужно отключить биткод в настройках сборки:

введите здесь описание изображения

Это избавит вас от предупреждений, пока AppStore не будет готов для Bitcode.

Имейте в виду, однако, что вы не можете пригласить внешних пользователей для тестирования приложения, если вы отправляете его с помощью Xcode 7. Только внутренние пользователи могут протестировать его.

person Jan    schedule 23.07.2015
comment
Итак, я вижу, вы можете отправить бета-тестирование с бета-версией Xcode, но не выпускать? Спасибо за разъяснения! - person rholmes; 23.07.2015