2016-09-22 95 views
11

升级到Xcode 8并将所有代码转换为Swift 3后,我遇到了编译快速资源的麻烦。这需要很长的时间,我的电脑变得超级laggy和大约30分钟后,我得到这个Xcode 8(Swift 3)命令失败,由于信号:已杀死:9

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/ Users/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 /Users/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 /Users/choojayson/Dropbox/BottomsUp/Thirst/ProfileStatsFooterCell.swift /Users/choojayson/Dropbox/BottomsUp/Thirst/WeeklyDrank.swift/ Users/choojayson/Dropbox/BottomsUp/Thirst/DrinkList .swift /Users/choojayson/Dropbox/BottomsUp/Thirst/DrinkCell.swift /Users/choojayson/Dropbox/BottomsUp/Thirst/User.swift /Users/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 /Users/choojayson/Dropbox/BottomsUp/HomeVC.swift/Users /choojayson/Dropbox/BottomsUp/Thirst/LoginVC.swift /Users/choojayson/Dropbox/BottomsUp/Thirst/LeaderBoardVC.swift/Users/choojay儿子/ 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 /Users/choojayson/Dropbox/BottomsUp/Thirst/WeeklyBestVC.swift /Users/choojayson/Dropbox/BottomsUp/Thirst/DrinkStatus.swift /Users/choojayson/Dropbox/BottomsUp/Thirst/LeaderBoardCell.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/Users/choojayson/Library/Developer/Xcode/DerivedData/Thirst-fbgpdykwgpyxllfixfnpenbijinz/Build/Products/Debug-iphoneos -F/Users/choojayson/Library/Developer/Xcode/DerivedData/Thirst-fbgpdykwgpyxllfixfnpenbijinz/Build/Products/Debug-iphoneos -F/Users/cho ojayson/Library/Developer/Xcode/DerivedData/Thirst-fbgpdykwgpyxllfixfnpenbijinz/Build/Products/Debug-iphoneos/SDWebImage -F/Users/choojayson/Dropbox/BottomsUp/Pods/FirebaseAnalytics/Frameworks/frameworks -F/Users/choojayson/Dropbox /下载/ Pods/FirebaseAuth/Frameworks/frameworks -F/Users/choojayson/Dropbox/BottomsUp/Pods/FirebaseDatabase/Frameworks -F/Users/choojayson/Dropbox/BottomsUp/Pods/FirebaseInstanceID/Frameworks/frameworks -F/Users/choojayson/Dropbox/BottomsUp/Pods/FirebaseMessaging/Frameworks/frameworks -F/Users/choojayson/Dropbox/BottomsUp/Pods/FirebaseStorage/Frameworks -F/Users/choojayson/Dropbox/BottomsUp/Pods/GoogleIPhoneUtilities/Frameworks -F/Users/choojayson/Dropbox/BottomsUp/Pods/GoogleInterchangeUtilities/Frameworks -F/Users/choojayson/Dropbox/BottomsUp/Pods/GoogleNetworkingUtilities/Frameworks -F/Users/choojayson/Dropbox/BottomsUp/Pods/GoogleParsingUtilities/Frameworks -F/Users/choojayson/Dropbox/BottomsUp/Pods/GoogleSymbolUtilities/Frameworks -F/Users/choojayson/Dropbox/BottomsUp/Pods/GoogleUtilities/Frameworks -F/Users/choojayson/Dropbox/BottomsUp -enable-testing -g -module-cache-path/Users/choojayson/Library/Developer/Xcode/DerivedData/ModuleCache -serialize -debugging-options -Xcc -I/Users/choojayson/Library/Developer/Xcode/DerivedData/Thirst-fbgpdykwgpyxllfixfnpenbijinz/Build/Intermediates/Thirst.build/Debug-iphoneos/Thirst.build/swift-overrides.hmap -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 /库/开发商/ Xcode中/ DerivedData /渴fbgpdykwgpyxllfixfnpenbijinz /编译/中间体/口渴。构建/ Debug-iphoneos/Thirst.build/Thirst-own-target-headers.hmap -Xcc -I/Users/choojayson/Library/Developer/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/Users/choojayson/Library/Developer/Xcode/DerivedData/Thirst-fbgpdykwgpyxllfixfnpenbijinz/Build/Products/Debug-iphoneos/include -Xcc -I/Users/choojayson/Dropbox/BottomsUp/Pods/Firebase/Analytics/Sources -Xcc -I/Users/choojayson/Dropbox/BottomsUp/Pods/Headers/Public -Xcc -I/Users/chooj -I/Users/choojayson/Dropbox/BottomsUp/Pods/Headers/Public/Firebase ayson/Dropbox/BottomsUp/Pods/Headers/Public/FirebaseAnalytics -Xcc -I/Users/choojayson/Dropbox/BottomsUp/Pods/Headers/Public/FirebaseAuth -Xcc -I/Users/choojayson/Dropbox/BottomsUp/Pods/Headers/Public/FirebaseDatabase -Xcc -I/Users/choojayson/Dropbox/BottomsUp/Pods/Headers/Public/FirebaseInstanceID -Xcc -I/Users/choojayson/Dropbox/BottomsUp/Pods/Headers/Public/FirebaseMessaging -Xcc -I/Users /首页/ Dropbox/BottomsUp/Pods/Headers/Public/FirebaseStorage -Xcc -I/Users/choojayson/Dropbox/BottomsUp/Pods/Headers/Public/GoogleIPhoneUtilities -Xcc -I/Users/choojayson/Dropbox/BottomsUp/Pods/Headers/Public/GoogleInterchangeUtilities -Xcc -I/Users/choojayson/Dropbox/BottomsUp/Pods/Headers/Public/GoogleNetworkingUtilities -Xcc -I/Users/choojayson/Dropbox/BottomsUp/Pods/Headers/Public/GoogleParsingUtilities -Xcc -I/Users/choojayson/Dropbox/BottomsUp/Pods/Headers/Public/GoogleSymbolUtilities -Xcc -I/Users/choojayson/Dropbox/BottomsUp/Pods/Headers/Public/GoogleUtilities -Xcc -I/Users/choojayson/L /开发/ Xcode/DerivedData/Thirst-fbgpdykwgpyxllfixfnpenbijinz/Build/Intermediates/Thirst.build/Debug-iphoneos/Thirst.build/DerivedSources/arm64 -Xcc -I/Users/choojayson/Library/Developer/Xcode/DerivedData/Thirst- fbgpdykwgpyxllfixfnpenbijinz/Build/Intermediates/Thirst.build/Debug-iphoneos/Thirst.build/DerivedSources -Xcc -DDEBUG = 1 -Xcc -DCOCOAPODS = 1 -Xcc -working-directory/Users/choojayson/Dropbox/BottomsUp -emit-module- doc-path /Users/choojayson/Library/Developer/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/Users/choojayson/Library/Developer/Xcode/DerivedData/Thirst-fbgpdykwgpyxllfixfnpenbi jinz/Build/Intermediates/Thirst.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/Users/choojayson/Library/Developer/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

我有完全相同的问题。 – Lastmboy

回答

12

信不信由你,这是一段代码导致我的问题。有了它,编译需要大约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 
] 

在此基础上和其他的东西我看过了,我会追捕在您使用在定义一个AnyAnyObject分配值要大或嵌套字典的情况下。我猜测这就是编译器关闭的一个狂野追逐的Any

如果您检查日志失败的位置,它应该在失败的对象上有错误。这应该给你一个线索,看看哪个文件。

编辑: @Jay周,我这是怎么解决了上面的代码编译器的问题:

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 
+0

哇。这很棒,似乎也为我做了诡计!你怎么知道这个的?非常感谢! – nights

+0

这也是我的问题。你的解决方案为我工作。谢谢! – Isuru

+0

这是正确的,有些家庭[任何]使iOS处理如此looooong –

0

在我而言,当我发现这个问题的代码块是:

  return realm2.objects(Alert.self).sorted(by: { (alert1, alert2) -> Bool in 
    return alert1.hour < alert2.hour && 
    alert1.minute < alert2.minute && 
    alert1.label < alert2.label 
    }) 
0

我的情况不得不将过多的以编程方式创建的约束添加到视图控制器的视图中。我有在班级定义的多个约束阵列,如下所示:

lazy var labelConstraints: [NSLayoutConstraint] = [...] 

我在我的视图中为所有UI元素使用了这种表示法。当我完成构建视图时,我大概有10个3-5个NSLayoutConstraints的数组。

我然后追加级联阵列到视图的约束阵列像这样:

self.view.addConstraints(labelConstraints + buttonConstraints + viewConstraints, ...) 

这条线被证明是该问题。它必须是延迟初始化和内联数组concat。无论原因如何,我已经使用flatMap解决了这个问题。

let constraints = [labelConstraints, buttonConstraints, viewConstraints].flatMap{ $0 } 
self.view.addConstraints(constraints) 
0

在我的情况,我正在写一个类实现Equatable并且也有通用成员。我的问题根源在于将通用成员与==进行比较,当通用类没有实现==运营商时。

例如(使用VariableRxSwift):

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,但是编译器会崩溃(以及静态分析)才能够显示它。在崩溃前我看到60GB +的内存使用情况。让人惊讶。

说到仿制药,似乎迅捷仍有一些挥之不去的bug。

0

在我的情况,Xcode的9,斯威夫特4,compilator受不了除了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编译器,它总是令苹果公司感到非常失望。