Команда Xcode 6.0.1 /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swiftc завершилась ошибкой с кодом выхода 1
Пожалуйста, помогите мне с ошибкой.
Я застрял плохо, пытался исправить ошибку, но у меня не получилось.
Нужна помощь....
Пожалуйста, смотрите скриншот.
Я получаю эту ошибку в архиве.
24 ответа
Эта проблема возникает, когда для уровня оптимизации Swift не задано значение None for Release. Установите значение None, и проблема исчезнет.
- Откройте свой проект и нажмите на корневой каталог проектов.
- Нажмите вкладку настроек сборки.
- Найдите Swift Compiler - Generation Code и в разделе " Уровень оптимизации" убедитесь, что для версии Release задано значение " Нет".
РЕДАКТИРОВАТЬ
После обновления до Xcode 6.1 эти инструкции вызвали другие проблемы при архивации (сборка для отладки / устройства работала нормально). Установка оптимизации на Fastest позволила мне снова заархивировать. Есть очевидные проблемы с компиляцией Swift до сих пор (особенно для архивирования).
Не удается заархивировать работающий проект 6.0.1 Swift в Xcode 6.1 / Ошибка сегментации: 11
РЕДАКТИРОВАТЬ Я не смог пополнить вкладку Настройки сборки, пока не прочитал этот ответ.
Это произошло для меня, когда у меня было два одинаковых файла, а также, когда я отсутствовал, я подал файл, который я не знал, что удалил. Я нажал на сообщение об ошибке, и чуть выше ошибки, он показывает, какой файл у вас более 1 или отсутствует.
Вы можете нажать на Товар в навигационной панели и выбрать кнопку "Очистить"; это уберет все ошибки компиляции в вашем проекте. Затем вы можете отладить последнюю ошибку.
Ссылка на удаленные файлы хранится в фазе сборки, поэтому выдает эту ошибку. Удалить ссылку оттуда, а также.
Проект> Цель> Фаза сборки
В этом разделе вы найдете удаленные файлы красного цвета. Удалить эти файлы ошибка разрешит.
Я не уверен, что у него есть одно решение. Я рекомендую вам проверить различия между вашим последним git коммитом и прокомментировать / отключить изменения.
В моем случае мой код был
let anArray = ResultDict["ResultSet"] as [[NSDictionary : AnyObject]]
for aDict : NSDictionary in anArray {
let anObject = ObjectType(ObjectDict: aDict)
objectList.addObject(aDict)
}
нет предупреждения в строке, я получил ту же ошибку компиляции выхода 1, затем я изменил ее на нижеприведенную.
let anArray = ResultDict["ResultSet"] as [[NSDictionary : AnyObject]]
for aDict in anArray {
let anObject = ObjectType(ObjectDict: aDict)
objectList.addObject(aDict)
}
Это случилось со мной, когда я не поставил скобки в конце вызова функции:
let var = self.getNextPrimeNumber
решил это:
let var = self.getNextPrimeNumber()
Я не знаю, действительно ли это ответ, но...
У меня была такая же проблема. Приложение работало при сборке / запуске, но архивирование не удалось с "...swiftc не удалось с кодом выхода 1", без других полезных сообщений вообще. К счастью, когда я пытался создать свое приложение с Nomad's ipa build
, Я получил:
The following build commands failed:
CompileSwift normal arm64 /path/to/erroneous/TableViewController.swift
Поэтому я начал комментировать разделы этого файла и отследил проблему до назначения кортежей.
// MARK: - Table Data
private var tableData: [(sectionName: String, item:ListItem)] = []
private func refreshTableData() {
// let labor = ("Labor", laborListItem) // DOESN'T ARCHIVE
let labor = (sectionName: "Labor", item: laborListItem) // ARCHIVES
tableData = [labor]
tableView.reloadData()
}
Таким образом, по-видимому, компилятор хотел именовать элементы в кортеже thast (как определено типом tableData
).. а только для архивации? Глупо то, что я использую этот же шаблон в других контроллерах представления, и компилятор, кажется, хорошо с ними.
Для записи мой Code Generation -> Optimization Level
был установлен на Нет для отладки и выпуска.
Надеюсь, это поможет кому-то! Потребовались часы, чтобы понять это.
В моем случае это было вызвано дублированием файлов с тем же именем в каталоге моего проекта. Как только я их удалил, ошибка исчезла.
Эта ошибка возникла у меня после того, как я заметил, что несколько моих файлов.swift необъяснимым образом оказались в неправильном каталоге - на один уровень выше моего каталога проекта XCode. Когда я заметил это, я переместил их в главный каталог проекта и очистил проект, думая, что все будет хорошо. Однако при сборке проекта я получил вышеупомянутую ошибку "ошибка с кодом выхода 1". Чуть выше сообщения об ошибке в нем перечислены файлы, которые я только что переместил, что указывает на то, что он не может найти их в каталоге, где они были. В дополнение к сообщению об ошибке перемещенные файлы теперь отображаются красным цветом на панели навигации по файлам.
Для каждого из рассматриваемых файлов я решил: - выберите файл из списка файлов на панели навигации по файлам XCode, - нажмите на маленький значок страницы в самой правой панели XCode, чтобы открыть атрибуты файла. панель, - Нажмите на маленький значок папки под тем, где написано "Местоположение" на панели атрибутов файла, - Выберите новое местоположение для файла, - RESTART XCode, чтобы вышеуказанные изменения действительно что-то сделали.
Эта ошибка происходит из-за отсутствующих файлов, поэтому компилятор не может найти файлы и постоянно предупреждать. Выполните следующие шаги, чтобы перестроить ваше приложение. 1. Найдите красные и невидимые файлы в рабочей области. 2. Удалите их ссылки. 3. Повторно добавьте файлы. 4. Перекомпилируйте.
Это случилось со мной, когда я использовал статическую встроенную функцию из файла swift
Функция выглядит так
static inline void openURLInSafari(NSString * _Nonnull urlString) {
[[UIApplication sharedApplication]openURL:[NSURL URLWithString:urlString]];}
У меня только что произошло то же самое. Я выследил причину до одного файла, который вызвал ошибку, даже когда пуст. Изучив файл, я обнаружил, что у него неправильный набор символов. Когда я установил его на UTF-8, ошибка исчезла. Я думаю, что он декодировал его с неправильным набором символов.
Исходя из этого, я предполагаю, что ошибка просто указывает на то, что произошло что-то, к чему не был подготовлен компилятор. Извините, это не очень полезно для большинства людей, но может помочь проверить ваши наборы символов.
Еще один случай, который может привести к этой ошибке, на поиск которой у меня ушло несколько часов: сбойный инициализатор, который всегда возвращает ноль.
у меня был инициализатор, который выглядел так:
init?(object: MyObject) {
if object.importantProperty {
// initialize
}
return nil
}
когда я имел в виду:
init?(object: MyObject) {
if object.importantProperty {
// initialize
}
else {
return nil
}
}
Исправление инициализатора заставило ошибку исчезнуть.
При использовании Core Data
:
У меня была сущность Core Data, для которой я создал NSManagedObject
подклассы (с помощью Xcode). Кроме того, сущность была сконфигурирована для автоматической генерации кода (см. Скриншот), поэтому в основном во время выполнения существовало 2 класса. Просто переключите опцию на Manual/None, и она не будет сгенерирована.
Итак, у меня было вышеупомянутое, и я сузил его до проблемы TFS с блокировкой файла, но только когда я вставил или сделал какие-либо другие правки, кроме небольших копий или ручного набора текста. Я заметил, что исходный файл будет скомпилирован, но мои правки - нет, даже если они были синтаксическими. Также не удалось сохранить документ: xcode Не удалось сохранить документ "..."
Исправление для обоих было:
- Дублирующая рабочая версия.
- Вставьте полностью объединенный новый код в дубликат.
- Скопируйте и вставьте старый файл поверх нового. (Лично я просто переименовал старый в другое, затем вставил дубликат и переименовал его тоже. Угадаю обе работы, так как я вставил непосредственно ранее для возврата во время тестов, чтобы увидеть).
Вуаля. Ленивый способ обойти проблему блокировки слиянием. Видимо, полные вставки файлов - это нормально, а редактирование - нет. Поделился, так как другие ответы, кажется, не так ленивы, как это.;) Примечание: я подозреваю, что где-то появился символ не-UTF-8, но вставки работали в более старых версиях, поэтому я не знаю, где и если это уместно.
По-моему, ошибка произошла из-за UIDevice.currentDevice()
в ((UIDevice.currentDevice().systemVersion as NSString).floatValue >= 8.0)
После комментирования все начинает работать нормально.
XCode 7.2
Я испытал эту ошибку после выполнения мерзкого слияния. Я решил новые предупреждения Xcode, и проект можно скомпилировать.
Xcode 7.2.1 используется в моем случае.
В моем случае, в вашей цели проекта Build Setttings, в Other Swift Flags,jsut delete String "-serialize-debuggin-options" введите описание изображения здесь
Возможно, это может произойти из-за того, что вы удалили файл, но не удалили ссылки на него. Это испортит файл pbxproj. Я бы проверил, так ли это.
У меня было разрешение, очень похожее на RyanM, где с избытком высокомерия я пытался присвоить переменной значение по умолчанию для внутренней функции:
Не в состоянии скомпилировать (хотя не приводит к сбою SourceKit):
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
func itemCell(_ indexPath: IndexPath = indexPath) -> UITableViewCell {//...}
Удается:
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
func itemCell(_ indexPath: IndexPath) -> UITableViewCell {//...}
В моем случае вместо xcode 9.2 был выбран моментальный снимок разработки. Вот шаги и изображение.
В моем случае ошибка была результатом отсутствия файлов, которые были сгенерированы Xcode. Я попробовал обычную чистую Opt+Shift+K, и она не очистила все ошибки. На сайте Apple Developer я нашел пост, в котором рекомендовал перейти в меню "Продукт" в XCode, удерживая нажатой клавишу "opt" и выбрав "Очистить папку сборки". Похоже, что это более полная сборка, так как она вызывает модальное диалоговое окно для подтверждения.
Просто зайдите в "настройки проекта" и нажмите "этапы сборки", после чего вы найдете цели, в которых вам нужно удалить тестовый файл, такой как имя моего проекта "WER", чтобы он показывался как этот WER&TEST, просто удалите его и очистите ур проект и запустить.........