Ошибка Липо! не могу открыть входной файл
Мое приложение работало отлично, затем я начал интегрировать SDK для push-уведомлений и прекратить интеграцию между ними. Я даже удалил SDK из своего проекта и, пытаясь заархивировать или запустить приложение, выдает ошибку:
Ошибка липо! не могу открыть входной файл.
Любая помощь будет высоко оценена, я дал достаточно времени, чтобы решить эту проблему, но не смог.
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/lipo: не удается открыть входной файл: /Users/XYZ/ Библиотека / Разработчик /Xcode/DerivedData/MyAPP-hjbmqpnmsoruqxbwlayqkildoqxbwlayqkildso /Intermediates/MyAPP.build/Debug-iphoneos/MyAPP.build/Objects-normal/armv7s/MyAPP (нет такого файла или каталога)
18 ответов
Я заставил его работать, я только что сделал простое изменение в своей цели проекта-> Настройка сборки-> Только построить активную архитектуру и установил для этой сборки Активная архитектура только значение ДА. И теперь работает нормально..
обновление через 6 месяцев:
Снова я сталкиваюсь с этой проблемой после обновления до Xcode5. На этот раз мне нужно обновить Project target-> Build setting-> Valid Architecture до armv7. Я удалил armv7s и arm64.
Установка "Включить биткод" в "Нет" работает для меня.
Теперь я могу запустить на устройстве и отправить в магазин приложений.
Обратите внимание, что я получил это при переходе от Карфагена к CocoaPods. Решением было удалить "Удалить ненужные архитектуры" в разделе "Этапы сборки".
Это случилось со мной, потому что я использую cocoapods, и проект Pods в рабочей области имел настройку "Build Active Architecture Only", отличную от моего основного проекта (YES и NO соответственно). Когда я установил оба "НЕТ", я смог собрать и запустить на моем устройстве.
Попробуйте удалить подключенный iPad/iPhone, если есть. Это сработало для моего случая.
Попробуйте удалить файлы, которые вы удалили из цели проекта -> Этапы сборки -> Исходники компиляции.
Надеюсь, это поможет.
В моем случае я выполнил свое приложение после некоторых обновлений, затем попытался зафиксировать его в git, и конфликты разрушили мой код. Это была грустная история.
Но, к счастью, у меня была одна резервная копия в моей системе, и я заменил испорченный код своим локальным кодом.
Теперь во время выполнения я чувствовал ту же проблему. Тогда очистка проекта стала для меня волшебной палкой. Я очистил проект, и мне было хорошо идти.
Эта ошибка произошла, когда я решил очистить папку с производными данными. Мне пришлось позвонить carthage update --platform iOS
затем позвоните Clean
в Xcode и построить снова. Надеюсь, что это может помочь кому-то
Для меня это произошло потому, что мой основной исполняемый файл и библиотека, с которой я статически связывался, имели разные настройки в "Параметры сборки"> "Архитектура". Для библиотеки было задано только "Стандартные архитектуры", но для основного exe было задано "Стандартные архитектуры (включая 64-битные)".
Я думаю, что происходило то, что, когда процесс сборки пошел, чтобы связать все, он обнаружил, что пропускал 64-битные версии библиотек, вызывая эту ошибку.
Установка их всех на одно и то же значение (с 64-битным или без него) решила проблему для меня.
Это была проблема с кокаподами для меня. Я использую 0.35.0, Xcode 6.1.1, и, по-видимому, мне нужно упомянуть мои цели в моем подфайле, чтобы все мои cocoapods работали правильно с моими целями.
В нижней части моего подфайла я добавил:
link_with 'Target A', 'Target B' ...
Добавьте все ваши целевые имена, закройте Xcode, запустите pod install
, откройте Xcode, и он должен создать для вас.
Вот проблема GitHub: https://github.com/CocoaPods/CocoaPods/issues/2627
Я использую и Carthage, и Cocoa Pod, и именно так я исправил проблему, не удаляя "Удалить ненужные архитектуры" в разделе "Фазы сборки":
• Перейдите на вкладку "Построить фазы" в вашей цели
• Перетащите "Удалить ненужные архитектуры" (или как вы назвали свой сценарий) в верхнюю строку (например, над "Компиляция источников").
• Очистить и построить
Надеюсь, это поможет!
Обычно это происходит после изменения целей развертывания в XCode и легко решается с помощью "Product > Clean" перед попыткой сборки.
У меня была эта ошибка после того, как перебазирование поместило кучу недоступных каталогов (снова и снова) в мои пути поиска фреймворка. Кто-то не импортировал фреймворки, над которыми работал, до самого конца и оставил ссылки на свой каталог в коде. Решено путем сравнения веток и удаления вредоносного кода из pbxproj
Новый потенциальный ответ для Swift: мы изолировали эту ошибку до одного использования оператора объединения нулей (??) в файле категории. Оператор используется в другом месте в нашем проекте без проблем, но в этом конкретном файле его удаление исправило ошибку липосакции.
Я попытался повторно выбрать подписывание профиля обеспечения для отладки и выпуска. это решило проблему.
Ничто из этого не сработало для меня.
После небольшой копки (git reset и т. Д.) Я обнаружил, что мое рабочее пространство повреждено. Я удалил содержимое файла project.xcworkspace и все вернулось на круги своя.
Причина, по которой даже сброс не сработал, заключается в том, что.xcworskpace находится в моем.gitignore (как многие, я думаю).
Я обновил один фреймворк в своем проекте, но почему-то пропустил фиксацию / отправку одного файла 'info.plist'(из-за какой-то проблемы в моем файле gitignore). С тех пор все остальные начали получать эту ошибку. Таким образом, исправление пропущенного файла info.plist решило проблему. Надеюсь, это кому-нибудь поможет.
Я получаю эту ошибку, когда отключаю устройство от моего Mac, нажимаю мой проект по названию моего проекта (рядом с кнопкой воспроизведения / остановки сборки в левом верхнем углу), выбираю устройство -> [iOS Device] и нажимаю продукт -> build. в этом проекте много сторонних библиотек и несколько библиотек, установленных с модулями.
В моем случае проблема возникла из-за того, что у меня была переменная экземпляра объекта (AVAudioPlayer), объявленная с одинаковым именем в двух контроллерах - делегате приложения и одном другом контроллере. Странно, но проблема исчезла, когда я переименовал одну из них.
Перейдите в каталог вашего проекта, найдите папку сборки и удалите ее. Затем выполните чистую сборку, а затем соберите проект.
надеюсь, это поможет
Вы должны добавить.m файлы в Compile Sources of Bundle Target.