Xcode 8 (Swift 3) Сбой команды из-за сигнала: Убито: 9
После обновления до Xcode 8 и преобразования всего моего кода в Swift 3 у меня возникли проблемы с компиляцией быстрых ресурсов. Это занимает очень много времени, и мой компьютер получает супер лагги, и примерно через 30 минут я получаю это
CompileSwift нормальный arm64/Users/choojayson/Dropbox/BottomsUp/Thirst/UserDrank.swift cd/Пользователи/choojayson/Dropbox/BottomsUp /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift -frontend -c/Users/choojayson/Dropbox/BottomsUp/Thirst/PendingVC.swift/Пользователи/choojayson/Dropbox/BottomsUp/Thirst/NotificationCell.swift/Users/choojayson/Dropbox/BottomsUp/Thirst/ProfileCell.swift/Users/choojayson/Dropbox/BottomsUp/Thirst/NotificationsVC.swift/Users/choojayson/Dropbox/BottomsUp/Thirst/UserPendingAction.swift/Пользователи/choojayson/Dropbox/BottomsUp/Thirst/ChooseDrinkVC.swift/Users/choojayson/Dropbox/BottomsUp/Thirst/AppDelegate.swift/Users/choojayson/Dropbox/BottomsUp/Thirst/UserCell.swift/Пользователи/choojayson/Dropbox/BottomsUp/Thirst/FirebaseReferences.swift/Users/choojayson/Dropbox/BottomsUp/Thirst/ProfileStatsCell.swift/Users/choojayson/Dropbox/BottomsUp/Thirst/UserDrankTime.swift/Users/choojayson/Dropbox/BottomsUp/Thirst/MyProfileVC.swift/Пользователи/choojayson/Dropbox/BottomsUp/Thirst/ProfileStatsFooterCell.swift/Users/choojayson/Dropbox/BottomsUp/Thirst/WeeklyDrank.swift/Us ers/choojayson/Dropbox/BottomsUp/Thirst/DrinkList.swift/Users/choojayson/Dropbox/BottomsUp/Thirst/DrinkCell.swift/Users/choojayson/Dropbox/BottomsUp/Thirst/User.swift/Пользователи/choojayson/Dropbox/BottomsUp/Thirst/HeaderCell.swift/Users/choojayson/Dropbox/BottomsUp/Thirst/EndorseVC.swift/Users/choojayson/Dropbox/BottomsUp/Thirst/GlobalScore.swift/Users/choojayson/Dropbox/BottomsUp/Thirst/Username.swift/Пользователи/choojayson/Dropbox/BottomsUp/HomeVC.swift/Users/choojayson/Dropbox/BottomsUp/Thirst/LoginVC.swift/Users/choojayson/Dropbox/BottomsUp/Thirst/LeaderBoardVC.swift/Пользователи/choojayson/Dropbox/BottomsUp/Thirst/CollectionViewHeaderCell. swift/Users/choojayson/Dropbox/BottomsUp/Thirst/Global.swift/Users/choojayson/Dropbox/BottomsUp/Thirst/CircularTransition.swift/Users/choojayson/Dropbox/BottomsUp/Thirst/Drink.swift/Пользователи/choojayson/Dropbox/BottomsUp/Thirst/WeeklyBestVC.swift/Users/choojayson/Dropbox/BottomsUp/Thirst/DrinkStatus.swift/Пользователи/choojayson/Dropbox/BottomsUp/Thirst/Leade rBoardCell.swift/Users/choojayson/Dropbox/BottomsUp/Thirst/PendingCell.swift -primary-file/Users/choojayson/Dropbox/BottomsUp/Thirst/UserDrank.swift -target arm64-apple-ios8.0 -Xllvm -aarch64-use -tbi -enable-objc-interop -sdk/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.0.sdk -I/Пользователи/choojayson/Library/Разработчик/Xcode/DerivedData/Thirst-fbgpdykwgpyxllfixfnpenbijinz/Build/Products/Debug-iphoneos -F/Пользователи/choojayson/Library/Разработчик/Xcode/DerivedData/Thirst-fbgpdykwgpyxllfixfnpenbijinz/Build/Products/Debug-iphoneos -F/Пользователи/choojayson/Library/Разработчик/Xcode/DerivedData/Thirst-fbgpdykwgpyxllfixfnpenbijinz/Build/Products/Debug-iphoneos/SDWebImage -F/Пользователи/choojayson/Dropbox/BottomsUp/Pods/FirebaseAnalytics/Frameworks/frameworks -F/Пользователи/choojayson/Dropbox/BottomsUp/Pods/FirebaseAuth/Frameworks/frameworks -F/Пользователи/choojayson/Dropbox/BottomsUp/Pods/FirebaseDatabase/Frameworks -F/Пользователи/choojayson/Dropbox/BottomsUp/Pods/FirebaseIn stanceID/Frameworks/frameworks -F/Users/choojayson/Dropbox/BottomsUp/Pods/FirebaseMessaging/Frameworks/frameworks -F/Пользователи/choojayson/Dropbox/BottomsUp/Pods/FirebaseStorage/Frameworks -F/Пользователи/choojayson/Dropbox/BottomsUp/Pods/GoogleIPhoneUtilities/Frameworks -F/Пользователи/choojayson/Dropbox/BottomsUp/Pods/GoogleInterchangeUtilities/Frameworks -F/Пользователи/choojayson/Dropbox/BottomsUp/Pods/GoogleNetworkingUtilities/Frameworks -F/Пользователи/choojayson/Dropbox/BottomsUp/Pods/GoogleParsingUtilities/Frameworks -F/Users/choojayson/Dropbox/BottomsUp/Pods/GoogleSymbolUtilities/Frameworks -F/Пользователи/choojayson/Dropbox/BottomsUp/Pods/GoogleUtilities/Frameworks -F/Пользователи/choojayson/Dropbox/BottomsUp -enable-testing - g -module-cache-path/Users/choojayson/Library/Developer/Xcode/DerivedData/ModuleCache -serialize-debugging-options -Xcc -I/Пользователи/choojayson/Library/Разработчик/Xcode/DerivedData/Thirst-fbgpdykwgpyxllfixfnpenbijinz/Build/полупродукты/Thirst.build/Debug-iphoneos/Thirst.build/swift-overrides.hm ap -Xcc -iquote -Xcc/Users/choojayson/Library/Developer/Xcode/DerivedData/Thirst-fbgpdykwgpyxllfixfnpenbijinz/Build/Intermediates/Thirst.build/Debug-iphoneos/Thirst.build/Thirst-generated-files.hmap -Xcc - I/Users/choojayson/Library/Developer/Xcode/DerivedData/Жажда-fbgpdykwgpyxllfixfnpenbijinz/Строительные/ПОЛУПРОДУКТЫ/Thirst.build/Debug-iphoneos/Thirst.build/Thirst-own-target-headers.hmap -Xcc -I/Пользователи/choojayson/Library/Разработчик/Xcode/DerivedData/Thirst-fbgpdykwgpyxllfixfnpenbijinz/Build/Intermediates/Thirst.build/Debug-iphoneos/Thirst.build/Thirst- all-non-framework-target-headers.hmap -Xcc -ivfsoverlay -Xcc/Users/choojayson/Library/Developer/Xcode/DerivedData/Thirst-fbgpdykwgpyxllfixfnpenbijinz/Build/Intermediates/Thirst.build/all-product-headers.yaml - Xcc -iquote -Xcc/Users/choojayson/Library/Developer/Xcode/DerivedData/Thirst-fbgpdykwgpyxllfixfnpenbijinz/Build/Intermediates/Thirst.build/Debug-iphoneos/Thirst.build/Thirst-project-headers.hmap -Xcc -I/Пользователи/choojayson/Library/Developer/Xcode/DerivedData/Thirst-fbgpdykwgpyxllfixfnpenbijinz/Build/Products/Debug-iphoneos/include -Xcc -I/Пользователи/choojayson/Dropbox/BottomsUp/Pods/Firebase/Analytics/Sources -Xcc -I/Пользователи/choojayson/Dropbox/BottomsUp/Pods/Headers/Public -Xcc -I/Пользователи/choojayson/Dropbox/BottomsUp/Pods/Headers/Public/Firebase -Xcc -I/Пользователи/choojayson/Dropbox/BottomsUp/Pods/Headers/Public/FirebaseAnalytics -Xcc -I/Пользователи/choojayson/Dropbox/BottomsUp/Pods/Headers/Public/FirebaseAuth -Xcc -I/Пользователи/choojayson/Dropbox/BottomsUp/Pods/Headers/Public/FirebaseDatabase -Xcc -I/Пользователи/choojayson/Dropbox/BottomsUp/Pods/Headers/Public/FirebaseInstanceID -Xcc -I/Пользователи/choojayson/Dropbox/BottomsUp/Pods/Headers/Public/FirebaseMessaging -Xcc -I/Пользователи/choojayson/Dropbox/BottomsUp/Pods/Headers/Public/FirebaseStorage -Xcc -I/Пользователи/choojayson/Dropbox/BottomsUp/Pods/Headers/Public/GoogleIPhoneUtilities -Xcc -I/Пользователи/choojayson/Dropbox/BottomsUp/Pods/Headers/Public/GoogleInterchangeUtilities -Xcc -I/Пользователи/choojayson/Dropbox/BottomsUp/Pods/Headers/Public/GoogleNetworkingUtilities -Xcc -I/Пользователи/choojayson/Dropbox/BottomsUp/Pods/Headers/Public/GoogleParsingUtilities -Xcc -I/Пользователи/choojayson/Dropbox/BottomsUp/Pods/Headers/Public/GoogleSymbolUtilities -Xcc -I/Пользователи/choojayson/Dropbox/BottomsUp/Pods/Headers/Public/GoogleUtilities -Xcc -I/Пользователи/choojayson/Library/Разработчик/Xcode/Deriv edData/Thirst-fbgpdykwgpyxllfixfnpenbijinz/Build/Intermediates/Thirst.build/Debug-iphoneos/Thirst.build/DerivedSources/arm64 -Xcc -I/Пользователи/choojayson/Library/Разработчик/Xcode/DerivedData/Thirst-fbgpdykwgpyxllfixfnpenbijinz/Build/Intermediates/Thirst.build/Debug-iphoneos/Thirst.build/DerivedSources -Xcc -DDEBUG = 1 -Xcc -DCOCOAPODS = 1 -Xcc -working-directory/Пользователи/choojayson/Dropbox/BottomsUp -emit-module-doc-path/Users/choojayson/Library/Разработчик/Xcode/DerivedData/Thirst-fbgpdykwgpyxllfixfnpenbijinz/Build/Intermediates/Thirst.build/Debug-iphoneos/Thirst.build/Objects-normal/arm64/UserDrank ~ partial.swiftdoc -Onone -module-name Thirst -emit -module-path/Users/choojayson/Library/Developer/Xcode/DerivedData/Thirst-fbgpdykwgpyxllfixfnpenbijinz/Build/Intermediates/Thirst.build/Debug-iphoneos/Thirst.build/Objects-normal/arm64/UserDrank~partial.swiftmodule -serialize -diagnostics-path/Пользователи/choojayson/Library/Разработчик/Xcode/DerivedData/Thirst-fbgpdykwgpyxllfixfnpenbijinz/Build/Intermediates/Thi rst.build/Debug-iphoneos/Thirst.build/Objects-normal/arm64/UserDrank.dia -emit-dependencies-path/Users/choojayson/Library/Developer/Xcode/DerivedData/Thirst-fbgpdykwgpyxllfixfnpenbijinz/Build/Intermediates/Thirst. build/Debug-iphoneos/Thirst.build/Objects-normal/arm64/UserDrank.d -emit-reference-dependencies-path/Пользователи/choojayson/Library/Разработчик/Xcode/DerivedData/Thirst-fbgpdykwgpyxllfixfnpenbijinz/Build/Intermediates/Thirst. build/Debug-iphoneos/Thirst.build/Objects-normal/arm64/UserDrank.swiftdeps -o/Users/choojayson/Library/Developer/Xcode/DerivedData/Thirst-fbgpdykwgpyxllfixfnpenbijinz/Build/Intermediates/Thirst.build/Debug-iphoneos/Thirst.build/Objects-normal/arm64/UserDrank.o -embed-bitcode-marker
Ответы
Ответ 1
Верьте или нет, это часть кода, которая вызывала проблему для меня. С его помощью компилятор занимает около 30 минут. Если я просто прокомментирую этот фрагмент кода, он скомпилируется менее чем за 30 секунд.
let params : [String: Any] = [
"person_id" : kPersonId,
"person_promo_id" : promo.personPromoId!,
"promo_page_id" : promo.promoPageId!,
"seq_no" : promo.seqNo!,
"promo_type" : promo.promoType!,
"page_name" : promo.pageName!,
"image_name" : promo.imageName!,
"start_date" : promo.startDate!,
"end_date" : promo.endDate!,
"website" : promo.website!,
"facility_name" : promo.facilityName!,
"address" : promo.street!,
"city" : promo.city!,
"prov_state_cd" : promo.provState!,
"country_cd" : promo.country!,
"contact_name" : promo.contactName!,
"contact_phone" : promo.contactPhone!,
"latitude" : promo.latitude!,
"longitude" : promo.longitude!,
"bgColorRed" : promo.bgColorRed!,
"bgColorGreen" : promo.bgColorGreen!,
"bgColorBlue" : promo.bgColorBlue!,
"promoCategories" : promoCat
]
Исходя из этого и других вещей, которые я прочитал, я бы охотился за случаем, когда вы назначаете значения большому или вложенному словарю с Any
или AnyObject
в определении. Я предполагаю, что он Any
, который отправляет компилятор с диким хорошим преследованием.
Если вы проверяете свой журнал там, где он терпит неудачу, он должен иметь ошибку прямо у объекта, который не прошел. Это должно дать вам представление о том, какой файл искать.
Изменить:
@Jay Chow, вот как я решил проблему с компилятором с помощью кода выше:
var params : [String : Any] = [:]
params["person_id"] = kPersonId
params["person_promo_id"] = promo.personPromoId
params["promo_page_id"] = promo.promoPageId
params["seq_no"] = promo.seqNo
params["promo_type"] = promo.promoType
params["page_name"] = promo.pageName
params["image_name"] = promo.imageName
params["start_date"] = promo.startDate
params["end_date"] = promo.endDate
params["website"] = promo.website
params["facility_name"] = promo.facilityName
params["address"] = promo.street
params["city"] = promo.city
params["prov_state_cd"] = promo.provState
params["country_cd"] = promo.country
params["contact_name"] = promo.contactName
params["contact_phone"] = promo.contactPhone
params["latitude"] = promo.latitude
params["longitude"] = promo.longitude
params["bgColorRed"] = promo.bgColorRed
params["bgColorGreen"] = promo.bgColorGreen
params["bgColorBlue"] = promo.bgColorBlue
params["promoCategories"] = promoCat
Ответ 2
В моем случае, когда я нашел эту проблему, кусок кода был:
return realm2.objects(Alert.self).sorted(by: { (alert1, alert2) -> Bool in
return alert1.hour < alert2.hour &&
alert1.minute < alert2.minute &&
alert1.label < alert2.label
})
Ответ 3
Мое дело было связано с добавлением слишком большого количества программно созданных ограничений в представление контроллера представления. У меня было несколько массивов ограничений, определенных на уровне класса следующим образом:
lazy var labelConstraints: [NSLayoutConstraint] = [...]
Я использовал эту нотацию для всех элементов пользовательского интерфейса на мой взгляд. Когда я закончил создание представления, у меня было примерно 10 массивов из 3-5 NSLayoutConstraints.
Затем я добавлял конкатенированный массив в массив ограничений представления так:
self.view.addConstraints(labelConstraints + buttonConstraints + viewConstraints, ...)
Эта строка оказалась проблемой. Это должно быть что-то с ленивой инициализацией и встроенным массивом concat. Независимо от причины, я исправил это, используя flatMap следующим образом.
let constraints = [labelConstraints, buttonConstraints, viewConstraints].flatMap{ $0 }
self.view.addConstraints(constraints)
Ответ 4
В моем случае я писал класс, который реализовал Equatable
, а также имел общие члены. Моя проблема основывалась на сравнении общих членов с ==
, когда в родовом классе не был реализован оператор ==
.
Например (используя Variable
from RxSwift
):
class Foo: Equatable {
var fieldOne: Variable<String> = Variable("fieldOne")
var fieldTwo: Variable<String?> = Variable(nil)
public static func ==(lhs: Foo, rhs: Foo) -> Bool {
//should be marked as a compiler error, since Variable doesn't have ==
return lhs.fieldOne == rhs.fieldOne && lhs.fieldTwo == rhs.fieldTwo
}
}
Я должен был увидеть ошибку компилятора для этого, так как для Variable
существует определение ==
, но компилятор может сработать (а также статический анализ), прежде чем сможет его показать. Я наблюдал за использованием памяти 60 ГБ + перед сбоем. Хлоп.
Кажется, что быстро все еще есть некоторые затяжные ошибки, когда дело доходит до дженериков.
Ответ 5
В моем случае, Xcode 9, Swift 4, компилятор не мог выдержать 8 чисел:
let aBitPattern: UInt64 = ((UInt64(a) & UInt64(0xff)) << 0) +
((UInt64(b) & UInt64(0xff)) << 8) +
((UInt64(c) & UInt64(0xff)) << 16) +
((UInt64(d) & UInt64(0xff)) << 24) +
((UInt64(e) & UInt64(0xff)) << 32) +
((UInt64(f) & UInt64(0xff)) << 40) +
((UInt64(g) & UInt64(0xff)) << 48) +
((UInt64(h) & UInt64(0xff)) << 56)
Преобразование к этому позволило решить бесконечную компиляцию:
var aBitPattern: UInt64 = ((UInt64(a) & UInt64(0xff)) << 0);
aBitPattern += ((UInt64(b) & UInt64(0xff)) << 8);
aBitPattern += ((UInt64(c) & UInt64(0xff)) << 16);
aBitPattern += ((UInt64(d) & UInt64(0xff)) << 24);
aBitPattern += ((UInt64(e) & UInt64(0xff)) << 32);
aBitPattern += ((UInt64(f) & UInt64(0xff)) << 40);
aBitPattern += ((UInt64(g) & UInt64(0xff)) << 48);
aBitPattern += ((UInt64(h) & UInt64(0xff)) << 56);
Да, и иногда точки с запятой помогают компилятору понять ваш код.
Я всегда с нетерпением жду нового компилятора Swift, и он всегда является огромным разочарованием от Apple.