2014-09-10 85 views
28

我刚刚下载的Xcode 6 GM版本,它不会与此错误编译:GM的Xcode 6的发布编译

Command /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swiftc failed with exit code 1 

关于如何解决此问题的任何想法?

+0

http://stackoverflow.com/questions/10373016/command-xcode-app-contents-developer-toolchains-xcodedefault-xctoolchain-usr-bi?rq=1 请参阅本之一。解决了我的问题:) – Zidong 2014-10-05 05:45:33

+0

所有常见的答案没有解决我的问题,我发现这个问题是非常不同的-http://stackoverflow.com/questions/25889723/swift-failed-with-exit-code-1-while-编译在xcode可能相关的bri/27271734#27271734 – Kampai 2014-12-03 12:28:30

回答

70

这个错误可能发生的原因很多,所以这是一个调试提示。您可能想尝试在命令行中使用xcodebuild。它会给你详细的信息,哪些文件是罪魁祸首。

要做到这一点,打开终端并转到您的项目文件夹。一旦出现,键入

xcodebuild -project YourProject.xcodeproj -scheme YourScheme 

,或者如果你在一个工作区工作

xcodebuild -workspace YourProject.xcworkspace -scheme YourScheme 

您可能会看到很多信息弹出,但在输出的最后,你应该看到导致崩溃的特定文件。回到XCode,进入这些文件并开始玩一些Swift语法来看看发生了什么。在我的情况,它必须与setAttributeString函数,但我见过其他人有问题!和?

希望这会让你朝着正确的方向前进。

+1

这帮助我找到真正的问题 – iTukker 2014-11-20 14:38:13

+0

非常感谢这么多! – 2015-02-02 15:48:44

+0

只是一个附录:在我的情况下,这个错误是弹出的,因为我发送一个可选的字符串参数为零。使用“”来代替错误。 – 2015-02-17 17:09:26

0

变化

func tableView(tableView: UITableView!, cellForRowAtIndexPath indexPath: NSIndexPath!) -> UITableViewCell! 

TO

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell 

,做同样的他人这样

+3

你是什么意思这样的其他功能? – bhzag 2014-09-11 00:38:31

+0

许多具有可选值的基金会职能已更改。找出并更新它们 – Wstunes 2014-09-11 01:11:48

+3

我已经从函数定义和我的同事中删除了所有可选的强制unwapper(所有感叹号),我仍然收到此错误。任何其他想法? – 2014-09-26 08:36:37

-2

我认为真正的问题是有太多的错误,所以编译只能告诉你一个混淆的错误代码。

但是你可以随时打开每个源代码文件,在那里你可以找到详细的错误信息和正确的建议。

祝你好运!

7

我的情况有点不同,它涉及枚举和选项。为简单起见,我们定义

enum Animal { 
    case Dog 
    case Cat 
} 

func exampleAction(animal: Animal) {} 

exampleAction(.Cat) 

它会运行正常。然而,只要我使参数可选,错误开始出现。所以这段代码将不起作用:

func exampleAction(animal: Animal?) {} 

exampleAction(.Cat) 

为了使它工作,我不得不在方法调用中添加明确的枚举名称。所以下面的代码再次合作:

exampleAction(Animal.Cat) 
+0

只需添加我的两分钱,对我来说它是在一个正常的类(而不是枚举),如:myButton.setTitleColor(.grayColor(),forState:.Normal)必须更改为myButton.setTitleColor(UIColor.grayColor( ),forState:.Normal)与UIColor类。 – Dam 2015-05-27 08:28:31

10

我有我的“优化级别”更改为无[-0none]

目标>构建设置>斯威夫特编译器>优化级别。

+2

我会警告有两个名为“优化级别”的设置,请确保您在Swift Compiler部分下更改了该设置。我花了几个小时解决了我的问题。 – NAlexN 2014-11-30 11:28:09

2

可以是相同的问题 Swift compile error in XCode 6 GM

我有同样的问题,然后我使用git结帐旧版本,并找到其呈交引起的问题,并试图找到问题的关键代码。我的关键问题的代码是这样的

func afunc() { 
    class AClass() { 
    } 
    let ac = AClass() 
    //.... 
} 

其他代码可以做出同样的问题,出现在斯威夫特优化,快捷的编译器不会告诉你确切的位置。这一定是Apple的错误。

+1

事实上,回去发现它的差异。在我的情况下,它是一个func的本地结构,导致它崩溃。编译器是好的,但它仍然是一个测试版晚:-( – 2014-12-30 16:03:04

+0

@ThomasKilian我有同样的问题,这是我的代码: 'FUNC基地() - >虚空{ 结构ColorStruct {VAR WHITE =“” 初始化。 (){如果让PP = delegate.PP WHITE = PP.UI.Colors。WHITE } } } var COLOR = ColorStruct() }' – 2015-03-10 14:07:08

+1

@AndrewAnthonyGerst Swift/XCode真的很糟糕。令人惊讶的是苹果用户的耐心。我坐在这里每小时诅咒... – 2015-03-10 14:12:49

2

在我来说,我改变了3个地方:

目标>构建设置>斯威夫特编译器>

  • 优化级别。
    • 调试:无-Onone]
    • 分布:最快[-O]
    • 发布:最快[-O]

当我改变只是调试,我有这样的错误“源代码包崩溃....” 这种参数组合,对我来说非常好!

0

转到文件夹:用户/用户/库/开发商/ Xcode中/ DerivedData

,并清除所有文件,

然后再用干净和分析,

它`工作给我。

3

我觉得它出现的原因很多,我遇到的是这种情况,希望它能帮助你。

dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0)){ [weak self] in 

     // ... 
     dispatch_async(dispatch_get_main_queue()) { [weak self] in 

      // ... 
      return 

     } 
    } 

在上面的代码,只要删除“[弱自我]”所谓的捕获列表会删除该编译器错误。这个对我有用。

dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0)){ [weak self] in 

     // ... 
     dispatch_async(dispatch_get_main_queue()) { 

      // ... 
      return 

     } 
    } 

版本的Xcode 6.1.1是

0

我有显示发布版本错误下面的代码。

if myValue > 5 { myValue = 5.0 } 
if myValue < 0 { myValue = 0 } 

之间加入if语句解决了该问题else

if myValue > 5 { myValue = 5.0 } 
else 
if myValue < 0 { myValue = 0 } 

演示:https://github.com/exchangegroup/build-error-demo

的Xcode 6.1版(6A1052d)。在调试中构建好。提交给Apple Bug Reporter的票。

0

只是把这个在那里:我得到这个错误,每当我把[unowned self]在一个块的块中,像这样:

lazy var someVar: SomeType = { 
    self.successBlock = {[unowned self] in 
     // ... 
    } 
}() 

解决的办法是把[unowned self]只在最顶层级的块。似乎对自身的无主引用是为块内的块自动处理的。

当然,我只能先通过@麦克斯韦的答案找出麻烦的文件,查找此错误:https://stackoverflow.com/a/26848000/855680

0

在这里添加我的情况。每当我用[unowned self]标记闭包时,我都会得到描述的错误,但是从来没有在闭包本身中引用self。

例如:

 request.startWithSuccess({ [unowned self] (req: CBRequest!, object: AnyObject!) -> Void in 

      if let result = object["result"] as? [NSObject: AnyObject] 
      { 
       popup.type = result["email"] == nil ? AuthPopupType.Signup : AuthPopupType.Login 
      } 
      else 
      { 
       println("WARNING: Malformed response for kCBCheckUniquenesPath request.") 
      } 

      }, failure: { (req: CBRequest!, err: NSError!) -> Void in 

       println("ERROR: Failure response for kCBCheckUniquenesPath request.") 
     }) 
0

通过以下@ maxvel的建议,我知道 MAX()和MIN()函数未能在释放模式编译。我用下面的自己的函数替换它。

//Swift compiler seems to failing to compile default min and max functions in release 
//mode hence writing my own 
// 
func maximum<T: Comparable> (one: T, other: T) -> T { 
    if one > other { 
     return one 
    } 
    else { 
     return other 
    } 
} 

func minimum<T: Comparable> (one: T, other: T) -> T { 
    if one < other { 
     return one 
    } 
    else { 
     return other 
    } 
} 
1

在我的情况下,这个错误是由不正确的(UTF8).swift文件编码引起的; 通过将文件内容复制粘贴到新文件来解决。

2

如果您正在使用某些应在早期iOS版本中使用的API,则可能会发生构建失败。例如:如果您正在使用UI_USER_INTERFACE_IDIOM()而不是UIDevice.currentDevice()。userInterfaceIdiom来标识设备类型,那么您将在没有提示的情况下收到此构建错误。

+0

你在命令行中输入xcodebuild,你可能会得到这样的错误。 “ ”全局变量初始值设定项类型与全局变量类型不匹配! %struct._class_t ** @“\ 01L_OBJC_CLASSLIST_REFERENCES _ $ _” LLVM错误:发现中断的模块,编译中止! – evanchin 2015-04-23 11:03:18

2

由于编译器的优化,很多人都有这个问题(包括我在内)。我不认为关闭优化是一个正确的解决方案 - 我希望优化我的代码以尽可能快地运行。

重新运行xcodebuild手动没有做任何好处,因为它运行它没有优化。

但是 - 错误画面给我的swiftc命令是失败:

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swiftc -target arm64-apple-ios8.0 -incremental -module-name SpaceCats -O -sdk /Applic... 

-O还有就是优化标志。

我重新运行,在项目目录这整个命令(按照上述xcodebuild联编的建议),并在所有的细节,我发现下面的错误:

{ 
"kind": "finished", 
"name": "compile", 
"pid": 10682, 
"output": "Bitcast requires both operands to be pointer or neither\n %228 = bitcast i8* %227 to %VSs20UnsafeMutablePointer, !dbg !1322\nBitcast requires both operands to be pointer or neither\n %324 = bitcast i8* %323 to %VSs20UnsafeMutablePointer, !dbg !1322\nBitcast requires both operands to be pointer or neither\n %411 = bitcast i8* %410 to %VSs20UnsafeMutablePointer, !dbg !1322\nBitcast requires both operands to be pointer or neither\n %498 = bitcast i8* %497 to %VSs20UnsafeMutablePointer, !dbg !1322\nLLVM ERROR: Broken function found, compilation aborted!\n", 
"exit-status": 1 
} 

如果你想要去到一个文件中,而不是在屏幕上添加“2>文件名”到最后。

然后我不得不在文件中找到pid(10682)以查看它正在编译的内容。我手动运行该pid的命令,它给了我特定文件的错误。然后是修复代码。

+0

很好的答案,我们有这个问题试图做一个发布版本。非发布版本工作得很好(没有优化),然后切换到发布,swiftc失败的错误。希望你能在XCode中看到所有的输出结果...... – 2015-05-19 22:16:39

+0

我被这个swiftc编译器错误困住了几天,而这个我的朋友,这又让我重新活了起来。如果有一天你需要住宿的地方,只要你愿意,你可以在我的沙发上沉迷。谢谢。 – 2017-04-17 23:47:58

2

我看到很多原因。我的答案不是一个通用的解决方案,而只是增加了另一个提供该错误的案例。在我的情况下,它被设置按钮的标题是这样的:

button!.setTitleColor(.whiteColor(), forState: UIControlState.Normal) 

,而不是这样的:

button!.setTitleColor(UIColor.whiteColor(), forState: UIControlState.Normal) 
+0

这很容易忽略,谢谢你的抬头! – Laffen 2015-10-05 06:33:11

0

麦克斯韦的解决方案为您提供了最接近的提示。

0

相逢在Xcode 6.4编写本雨燕2.0的语法时,这个错误:

print(string, appendNewline: true);

回的Xcode 7和错误消失。

0

在我的情况的Xcode给了错误,因为下面一行:

if UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiom.Phone { 


}else { 

} 

并修复错误,我定义的:

enum UIUserInterfaceIdiom : Int { 
    case Unspecified 
    case Phone // iPhone and iPod touch style UI 
    case Pad // iPad style UI 
} 

然后,我用它喜欢:

if UIDevice.currentDevice().userInterfaceIdiom == .Phone { 

} 

祝你好运!

0

我也遇到这个错误。我按照@Maxwell的建议在终端中运行了命令,发现错误在我的GameViewController.swift文件中。小挖四周,发现它,因为我删除了此块的错误走了没有像一些自动生成的代码或代码的设置在Xcode一旦发生冲突的地方

override func supportedInterfaceOrientations() -> UIInterfaceOrientationMask { 

    if UIDevice.currentDevice().userInterfaceIdiom == .Phone { 
     return .AllButUpsideDown 
    } else { 
     return .All 
    } 
}