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

Найден неожиданный код заголовка Mach-O: 1918975009 в xCode 6

Что вызывает ошибку

Found an unexpected Mach-O header code: 1918975009 in xCode 6

Я заархивировал свой проект, чтобы отправить его как сборку ad hoc, и он строит/ссылки/архивы просто отлично, но когда я нахожусь в организаторе xCode и выберите Export -> Ad Hoc,

Я получаю сообщение об ошибке

Found an unexpected Mach-O header code: 191897500. 
4b9b3361

Ответ 1

У меня была такая же ошибка. В моем случае это было вызвано универсальной структурой, которую я случайно скопировал в ресурсы приложения (что необязательно, поскольку фреймворки объединяются непосредственно в основной исполняемый файл на iOS AFAIK).

Итак, выберите свою цель, перейдите на вкладку "Сборка фаз" и просмотрите список "Ресурсы копирования ресурсов", чтобы узнать, копируете ли вы библиотеку или фреймворк, содержащий настольные архитектуры (i386 или x86_64).

Скорее всего, копирование такого файла неверно, но если по какой-то причине вам придется, по-видимому, он может содержать только совместимые с iOS архитектуры.

Ответ 2

В моем случае эта проблема ( "нашел неожиданный код заголовка mach-o 0x72613c21" ) появилась после того, как я установил Crashlytics, Fabric.

Каким-то образом стручки превратились в встроенный двоичный файл. Поэтому мне пришлось удалить его, pod install еще раз, и проблема исчезла.

Удалить контейнеры из встроенных двоичных файлов

Ответ 3

Была похожая ошибка 1918975009 с новой системой сборки Swift в Xcode 9.3 (в разделе "Параметры рабочего пространства...") на сторонней платформе, которая была добавлена вручную (без использования Cocoapods). Может быть, связано с вышеупомянутой темой, так что в случае, если это кому-нибудь поможет... Это появилось только после обновления до Xcode 9.3 после того, как он был официально выпущен вчера. Xcode 9.2 и более ранние версии в новой системе сборки не выдавали предупреждение.

:-1: <path>/Frameworks/<frameworkName>.framework/<frameworkName>: Failed to parse executable: Unknown header: 1918975009

Возвращение к старой системе сборки не на основе Swift устраняет проблему. Не оптимальное решение, но если вы видите подобное предупреждение, то позволим вам двигаться дальше.

Ответ 4

Я испытывал ту же ошибку и не смог ее проследить до библиотеки/фреймворка в ресурсах копий или неправильной версии библиотеки.

Как обходной путь, я обнаружил, что могу сделать сборку экспорта из командной строки и, похоже, работает:

xcodebuild -exportArchive -exportFormat ipa \
-archivePath /path/to/app.xcarchive/ \
-exportPath /path/to/app.ipa \
-exportProvisioningProfile "Name of provisioning profile"

Здесь "Имя профиля предоставления" - это имя профиля предоставления, как оно отображается в Xcode (а не путь к профилю).

Ответ 5

Перейдите к СТРОИТЕЛЬНЫМ ФАЗАМ → КОПИРОВАНИЮ BUNDLE RESOURCES, вы найдете там некоторые рамки. Удалите из этого раздела и добавьте его в LINK BINARY WITH LIBRARIES. Это сработает.

Ответ 6

иногда вы должны смотреть Build Phases - Embed Pods Frameworks. и найдите файл оболочки. например.

Фазы сборки

и откройте Pods-midea-common-adddevice_Example-frameworks.sh Посмотрите, является ли этот файл проблемой.

Ответ 7

Я просто столкнулся с этой проблемой, и я смог ее решить...

В моем случае я создал новую цель, дублируя существующую. Я изменил имя с "MyApp-dev copy" на "MyApp-test", однако я забыл одно: когда вы создаете новую цель, также создается новый .plist файл. Я забыл переименовать этот файл, а затем привязать его к моей вновь созданной цели.

Как только я это сделал, проблема исчезла. Я изначально читал о целевых объектах: http://www.raywenderlich.com/68613/create-paid-lite-version-iphone-app, и повторение этой страницы помогло мне решить проблему.

Ответ 8

решена проблема в моем случае

Фазы сборки → Скопировать ресурсы Bundle для фреймворка или другого двоичного файла, который не будет там

я удаляю двоичные файлы TwitterKit и DigitKit.

Изменить: Когда я удалю этот двоичный файл из "Ресурсов копирования Bundle", проект можно построить, заархивировать, перейти к проверке, а также отправить в App Store. Но когда я запускаю проект, он терпит неудачу. Итак, если я удалю из ресурсов копирования Bundle и добавлю в раздел "Связывание двоичных файлов с библиотекой" (мы выбираем "Добавить другое", а затем нажмите комбинацию cmd + shift + g, чтобы перейти туда, где ваш пакет или бинарный файл).

Ответ 9

Чтобы добавить в проект тень или авария, когда перетащите или добавьте фреймворки в папку проекта или в Xcode, сохраните флажок "копировать элементы при необходимости". введите описание изображения здесь

Ответ 10

Убедитесь, что вы не встраиваете статическую платформу в раздел "Встроенные двоичные файлы" на вкладке "Общие" целевого объекта.

AFAIK Вы можете проверить, является ли структура статической, если бинарный значок внутри .framework белый, если значок черный, то это динамическая структура.