命令失败,内存区段错误: 11

我得到了错误..。

命令失败,内存区段错误: 11

在编译我的 Swift 应用程序的时候。我正在使用 Xcode 6.1,试图在 iOS 8.1上构建 iPhone 5。

我的准则

import UIKit


class ViewController: UIViewController {


@IBOutlet weak var username: UITextField!
@IBAction func signIn(sender: AnyObject) {


PFUser.logInWithUsernameInBackground(username.text, password:"mypass") {
(user: PFUser!, error: NSError!) -> Void in
if user != nil {
println("Logged In")
} else {


func myMethod() {
var user = PFUser()
user.username = username.text
user.password = " "
user.signUpInBackgroundWithBlock {
(succeeded: Bool!, error: NSError!) -> Void in
if error == nil {
// Hooray! Let them use the app now.
} else {
println("Signed Up")
}
}
}


println(error)
}
}
}
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
Parse.setApplicationId("key here")
}


override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}

还有错误信息!

CompileSwift normal arm64 /Users/Alec/Desktop/Re-Chat/Re-Chat/Re-Chat/ViewController.swift
cd /Users/Alec/Desktop/Re-Chat/Re-Chat
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift -frontend -c -primary-file /Users/Alec/Desktop/Re-Chat/Re-Chat/Re-Chat/ViewController.swift /Users/Alec/Desktop/Re-Chat/Re-Chat/Re-Chat/AppDelegate.swift -target arm64-apple-ios8.0 -Xllvm -aarch64-use-tbi -target-cpu cyclone -target-abi darwinpcs -sdk /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.1.sdk -I /Users/Alec/Library/Developer/Xcode/DerivedData/Re-Chat-awwdkmqavitiqkcdsphwnhzhzzfb/Build/Products/Debug-iphoneos -F /Users/Alec/Library/Developer/Xcode/DerivedData/Re-Chat-awwdkmqavitiqkcdsphwnhzhzzfb/Build/Products/Debug-iphoneos -F /Users/Alec/Desktop/Re-Chat/Re-Chat/Re-Chat -g -import-objc-header /Users/Alec/Desktop/Re-Chat/Re-Chat/Re-Chat/Re-Chat-Bridging-Header.h -module-cache-path /Users/Alec/Library/Developer/Xcode/DerivedData/ModuleCache -Xcc -I/Users/Alec/Library/Developer/Xcode/DerivedData/Re-Chat-awwdkmqavitiqkcdsphwnhzhzzfb/Build/Intermediates/Re-Chat.build/Debug-iphoneos/Re-Chat.build/swift-overrides.hmap -Xcc -iquote -Xcc /Users/Alec/Library/Developer/Xcode/DerivedData/Re-Chat-awwdkmqavitiqkcdsphwnhzhzzfb/Build/Intermediates/Re-Chat.build/Debug-iphoneos/Re-Chat.build/Re-Chat-generated-files.hmap -Xcc -I/Users/Alec/Library/Developer/Xcode/DerivedData/Re-Chat-awwdkmqavitiqkcdsphwnhzhzzfb/Build/Intermediates/Re-Chat.build/Debug-iphoneos/Re-Chat.build/Re-Chat-own-target-headers.hmap -Xcc -I/Users/Alec/Library/Developer/Xcode/DerivedData/Re-Chat-awwdkmqavitiqkcdsphwnhzhzzfb/Build/Intermediates/Re-Chat.build/Debug-iphoneos/Re-Chat.build/Re-Chat-all-target-headers.hmap -Xcc -iquote -Xcc /Users/Alec/Library/Developer/Xcode/DerivedData/Re-Chat-awwdkmqavitiqkcdsphwnhzhzzfb/Build/Intermediates/Re-Chat.build/Debug-iphoneos/Re-Chat.build/Re-Chat-project-headers.hmap -Xcc -I/Users/Alec/Library/Developer/Xcode/DerivedData/Re-Chat-awwdkmqavitiqkcdsphwnhzhzzfb/Build/Products/Debug-iphoneos/include -Xcc -I/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include -Xcc -I/Users/Alec/Library/Developer/Xcode/DerivedData/Re-Chat-awwdkmqavitiqkcdsphwnhzhzzfb/Build/Intermediates/Re-Chat.build/Debug-iphoneos/Re-Chat.build/DerivedSources/arm64 -Xcc -I/Users/Alec/Library/Developer/Xcode/DerivedData/Re-Chat-awwdkmqavitiqkcdsphwnhzhzzfb/Build/Intermediates/Re-Chat.build/Debug-iphoneos/Re-Chat.build/DerivedSources -Xcc -DDEBUG=1 -emit-module-doc-path /Users/Alec/Library/Developer/Xcode/DerivedData/Re-Chat-awwdkmqavitiqkcdsphwnhzhzzfb/Build/Intermediates/Re-Chat.build/Debug-iphoneos/Re-Chat.build/Objects-normal/arm64/ViewController~partial.swiftdoc -Onone -module-name Re_Chat -emit-module-path /Users/Alec/Library/Developer/Xcode/DerivedData/Re-Chat-awwdkmqavitiqkcdsphwnhzhzzfb/Build/Intermediates/Re-Chat.build/Debug-iphoneos/Re-Chat.build/Objects-normal/arm64/ViewController~partial.swiftmodule -serialize-diagnostics-path /Users/Alec/Library/Developer/Xcode/DerivedData/Re-Chat-awwdkmqavitiqkcdsphwnhzhzzfb/Build/Intermediates/Re-Chat.build/Debug-iphoneos/Re-Chat.build/Objects-normal/arm64/ViewController.dia -emit-dependencies-path /Users/Alec/Library/Developer/Xcode/DerivedData/Re-Chat-awwdkmqavitiqkcdsphwnhzhzzfb/Build/Intermediates/Re-Chat.build/Debug-iphoneos/Re-Chat.build/Objects-normal/arm64/ViewController.d -o /Users/Alec/Library/Developer/Xcode/DerivedData/Re-Chat-awwdkmqavitiqkcdsphwnhzhzzfb/Build/Intermediates/Re-Chat.build/Debug-iphoneos/Re-Chat.build/Objects-normal/arm64/ViewController.o
0  swift                    0x0000000108145a68 llvm::sys::PrintStackTrace(__sFILE*) + 40
1  swift                    0x0000000108145f54 SignalHandler(int) + 452
2  libsystem_platform.dylib 0x00007fff86631f1a _sigtramp + 26
3  libsystem_platform.dylib 0x00007fd0ac1eb010 _sigtramp + 633049360
4  swift                    0x00000001075d4517 swift::Lowering::SILGenFunction::emitClosureValue(swift::SILLocation, swift::SILDeclRef, llvm::ArrayRef<swift::Substitution>, swift::AnyFunctionRef) + 1303
5  swift                    0x00000001075c599e swift::Lowering::SILGenFunction::visitFuncDecl(swift::FuncDecl*) + 190
6  swift                    0x000000010760987c swift::Lowering::SILGenFunction::visitBraceStmt(swift::BraceStmt*) + 380
7  swift                    0x000000010760c8e8 swift::ASTVisitor<swift::Lowering::SILGenFunction, void, void, void, void, void, void>::visit(swift::Stmt*) + 152
8  swift                    0x000000010760a0a5 swift::Lowering::SILGenFunction::visitIfStmt(swift::IfStmt*) + 757
9  swift                    0x000000010760c8f6 swift::ASTVisitor<swift::Lowering::SILGenFunction, void, void, void, void, void, void>::visit(swift::Stmt*) + 166
10 swift                    0x00000001076097e8 swift::Lowering::SILGenFunction::visitBraceStmt(swift::BraceStmt*) + 232
11 swift                    0x000000010760c8e8 swift::ASTVisitor<swift::Lowering::SILGenFunction, void, void, void, void, void, void>::visit(swift::Stmt*) + 152
12 swift                    0x00000001075d52dd swift::Lowering::SILGenFunction::emitClosure(swift::AbstractClosureExpr*) + 205
13 swift                    0x00000001075b4234 swift::Lowering::SILGenModule::emitClosure(swift::AbstractClosureExpr*) + 196
14 swift                    0x00000001075eef71 (anonymous namespace)::RValueEmitter::visitAbstractClosureExpr(swift::AbstractClosureExpr*, swift::Lowering::SGFContext) + 97
15 swift                    0x00000001075e1866 swift::ASTVisitor<(anonymous namespace)::RValueEmitter, swift::Lowering::RValue, void, void, void, void, void, swift::Lowering::SGFContext>::visit(swift::Expr*, swift::Lowering::SGFContext) + 2870
16 swift                    0x00000001075e24da swift::ASTVisitor<(anonymous namespace)::RValueEmitter, swift::Lowering::RValue, void, void, void, void, void, swift::Lowering::SGFContext>::visit(swift::Expr*, swift::Lowering::SGFContext) + 6058
17 swift                    0x00000001075cfa0b swift::Lowering::SILGenFunction::emitExprInto(swift::Expr*, swift::Lowering::Initialization*) + 235
18 swift                    0x00000001075ae824 swift::Lowering::RValueSource::materialize(swift::Lowering::SILGenFunction&) && + 196
19 swift                    0x0000000107604a69 swift::Lowering::RValueSource::materialize(swift::Lowering::SILGenFunction&, swift::Lowering::AbstractionPattern, swift::SILType) && + 233
20 swift                    0x00000001075f371c swift::Lowering::SILGenFunction::emitInjectOptionalValueInto(swift::SILLocation, swift::Lowering::RValueSource&&, swift::SILValue, swift::Lowering::TypeLowering const&) + 268
21 swift                    0x00000001075e9b8d swift::ASTVisitor<(anonymous namespace)::RValueEmitter, swift::Lowering::RValue, void, void, void, void, void, swift::Lowering::SGFContext>::visit(swift::Expr*, swift::Lowering::SGFContext) + 36445
22 swift                    0x00000001075e3e2b swift::ASTVisitor<(anonymous namespace)::RValueEmitter, swift::Lowering::RValue, void, void, void, void, void, swift::Lowering::SGFContext>::visit(swift::Expr*, swift::Lowering::SGFContext) + 12539
23 swift                    0x00000001075e202b swift::ASTVisitor<(anonymous namespace)::RValueEmitter, swift::Lowering::RValue, void, void, void, void, void, swift::Lowering::SGFContext>::visit(swift::Expr*, swift::Lowering::SGFContext) + 4859
24 swift                    0x00000001075cfab6 swift::Lowering::SILGenFunction::emitRValue(swift::Expr*, swift::Lowering::SGFContext) + 22
25 swift                    0x00000001075bffc4 (anonymous namespace)::ArgEmitter::emitExpanded(swift::Lowering::RValueSource&&, swift::Lowering::AbstractionPattern) + 836
26 swift                    0x00000001075bf582 (anonymous namespace)::ArgEmitter::emit(swift::Lowering::RValueSource&&, swift::Lowering::AbstractionPattern) + 98
27 swift                    0x00000001075b7ff8 (anonymous namespace)::CallEmission::apply(swift::Lowering::SGFContext) + 1128
28 swift                    0x00000001075b751a swift::Lowering::SILGenFunction::emitApplyExpr(swift::ApplyExpr*, swift::Lowering::SGFContext) + 58
29 swift                    0x00000001075e0d81 swift::ASTVisitor<(anonymous namespace)::RValueEmitter, swift::Lowering::RValue, void, void, void, void, void, swift::Lowering::SGFContext>::visit(swift::Expr*, swift::Lowering::SGFContext) + 81
30 swift                    0x00000001075ea00d swift::Lowering::SILGenFunction::emitIgnoredExpr(swift::Expr*) + 237
31 swift                    0x0000000107609829 swift::Lowering::SILGenFunction::visitBraceStmt(swift::BraceStmt*) + 297
32 swift                    0x000000010760c8e8 swift::ASTVisitor<swift::Lowering::SILGenFunction, void, void, void, void, void, void>::visit(swift::Stmt*) + 152
33 swift                    0x00000001075d4ee0 swift::Lowering::SILGenFunction::emitFunction(swift::FuncDecl*) + 256
34 swift                    0x00000001075b3659 swift::Lowering::SILGenModule::emitFunction(swift::FuncDecl*) + 233
35 swift                    0x00000001075cea93 swift::ASTVisitor<SILGenType, void, void, void, void, void, void>::visit(swift::Decl*) + 355
36 swift                    0x00000001075cd7eb SILGenType::emitType() + 203
37 swift                    0x00000001075c85ae swift::Lowering::SILGenModule::visitNominalTypeDecl(swift::NominalTypeDecl*) + 30
38 swift                    0x00000001075b555b swift::Lowering::SILGenModule::emitSourceFile(swift::SourceFile*, unsigned int) + 395
39 swift                    0x00000001075b581a swift::SILModule::constructSIL(swift::Module*, swift::SourceFile*, swift::Optional<unsigned int>) + 314
40 swift                    0x00000001075b5968 swift::performSILGeneration(swift::SourceFile&, swift::Optional<unsigned int>) + 72
41 swift                    0x000000010748be18 frontend_main(llvm::ArrayRef<char const*>, char const*, void*) + 3432
42 swift                    0x000000010748996d main + 1677
43 libdyld.dylib            0x00007fff8aa4c5c9 start + 1
Stack dump:
0.  Program arguments: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift -frontend -c -primary-file /Users/Alec/Desktop/Re-Chat/Re-Chat/Re-Chat/ViewController.swift /Users/Alec/Desktop/Re-Chat/Re-Chat/Re-Chat/AppDelegate.swift -target arm64-apple-ios8.0 -Xllvm -aarch64-use-tbi -target-cpu cyclone -target-abi darwinpcs -sdk /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.1.sdk -I /Users/Alec/Library/Developer/Xcode/DerivedData/Re-Chat-awwdkmqavitiqkcdsphwnhzhzzfb/Build/Products/Debug-iphoneos -F /Users/Alec/Library/Developer/Xcode/DerivedData/Re-Chat-awwdkmqavitiqkcdsphwnhzhzzfb/Build/Products/Debug-iphoneos -F /Users/Alec/Desktop/Re-Chat/Re-Chat/Re-Chat -g -import-objc-header /Users/Alec/Desktop/Re-Chat/Re-Chat/Re-Chat/Re-Chat-Bridging-Header.h -module-cache-path /Users/Alec/Library/Developer/Xcode/DerivedData/ModuleCache -Xcc -I/Users/Alec/Library/Developer/Xcode/DerivedData/Re-Chat-awwdkmqavitiqkcdsphwnhzhzzfb/Build/Intermediates/Re-Chat.build/Debug-iphoneos/Re-Chat.build/swift-overrides.hmap -Xcc -iquote -Xcc /Users/Alec/Library/Developer/Xcode/DerivedData/Re-Chat-awwdkmqavitiqkcdsphwnhzhzzfb/Build/Intermediates/Re-Chat.build/Debug-iphoneos/Re-Chat.build/Re-Chat-generated-files.hmap -Xcc -I/Users/Alec/Library/Developer/Xcode/DerivedData/Re-Chat-awwdkmqavitiqkcdsphwnhzhzzfb/Build/Intermediates/Re-Chat.build/Debug-iphoneos/Re-Chat.build/Re-Chat-own-target-headers.hmap -Xcc -I/Users/Alec/Library/Developer/Xcode/DerivedData/Re-Chat-awwdkmqavitiqkcdsphwnhzhzzfb/Build/Intermediates/Re-Chat.build/Debug-iphoneos/Re-Chat.build/Re-Chat-all-target-headers.hmap -Xcc -iquote -Xcc /Users/Alec/Library/Developer/Xcode/DerivedData/Re-Chat-awwdkmqavitiqkcdsphwnhzhzzfb/Build/Intermediates/Re-Chat.build/Debug-iphoneos/Re-Chat.build/Re-Chat-project-headers.hmap -Xcc -I/Users/Alec/Library/Developer/Xcode/DerivedData/Re-Chat-awwdkmqavitiqkcdsphwnhzhzzfb/Build/Products/Debug-iphoneos/include -Xcc -I/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include -Xcc -I/Users/Alec/Library/Developer/Xcode/DerivedData/Re-Chat-awwdkmqavitiqkcdsphwnhzhzzfb/Build/Intermediates/Re-Chat.build/Debug-iphoneos/Re-Chat.build/DerivedSources/arm64 -Xcc -I/Users/Alec/Library/Developer/Xcode/DerivedData/Re-Chat-awwdkmqavitiqkcdsphwnhzhzzfb/Build/Intermediates/Re-Chat.build/Debug-iphoneos/Re-Chat.build/DerivedSources -Xcc -DDEBUG=1 -emit-module-doc-path /Users/Alec/Library/Developer/Xcode/DerivedData/Re-Chat-awwdkmqavitiqkcdsphwnhzhzzfb/Build/Intermediates/Re-Chat.build/Debug-iphoneos/Re-Chat.build/Objects-normal/arm64/ViewController~partial.swiftdoc -Onone -module-name Re_Chat -emit-module-path /Users/Alec/Library/Developer/Xcode/DerivedData/Re-Chat-awwdkmqavitiqkcdsphwnhzhzzfb/Build/Intermediates/Re-Chat.build/Debug-iphoneos/Re-Chat.build/Objects-normal/arm64/ViewController~partial.swiftmodule -serialize-diagnostics-path /Users/Alec/Library/Developer/Xcode/DerivedData/Re-Chat-awwdkmqavitiqkcdsphwnhzhzzfb/Build/Intermediates/Re-Chat.build/Debug-iphoneos/Re-Chat.build/Objects-normal/arm64/ViewController.dia -emit-dependencies-path /Users/Alec/Library/Developer/Xcode/DerivedData/Re-Chat-awwdkmqavitiqkcdsphwnhzhzzfb/Build/Intermediates/Re-Chat.build/Debug-iphoneos/Re-Chat.build/Objects-normal/arm64/ViewController.d -o /Users/Alec/Library/Developer/Xcode/DerivedData/Re-Chat-awwdkmqavitiqkcdsphwnhzhzzfb/Build/Intermediates/Re-Chat.build/Debug-iphoneos/Re-Chat.build/Objects-normal/arm64/ViewController.o
1.  While emitting SIL for 'signIn' at /Users/Alec/Desktop/Re-Chat/Re-Chat/Re-Chat/ViewController.swift:14:15
2.  While silgen closureexpr SIL function @_TFFC7Re_Chat14ViewController6signInFS0_FPSs9AnyObject_T_U_FTGSQCSo6PFUser_GSQCSo7NSError__T_ for expression at [/Users/Alec/Desktop/Re-Chat/Re-Chat/Re-Chat/ViewController.swift:16:80 - line:45:9] RangeText="{
(user: PFUser!, error: NSError!) -> Void in
if user != nil {
// Do stuff after successful login.


println("Logged In")
} else {


func myMethod() {
var user = PFUser()
user.username = username.text
user.password = ""
// other fields can be set just like with PFObject




user.signUpInBackgroundWithBlock {
(succeeded: Bool!, error: NSError!) -> Void in
if error == nil {
// Hooray! Let them use the app now.
} else {
println("Signed Up")
}
}
}




println("error")
}
}"
117065 次浏览

当编译器对代码中发生的事情感到困惑时,可能会出现这个错误。我注意到有许多看起来像是嵌套在函数中的函数。您可以尝试一次注释掉其中的一些内容,看看错误是否会消失。这样你就能锁定问题所在。不能使用断点,因为它是编译时错误,而不是运行时错误。

其中一种情况是,将 getter 变量的 datatype 命名为它的名称。 例如:

var someInstance: someInstance {...

更新 # 1。 注意不是 Int 的 好吧变量,而忘记指向右返回类型。问题发生在中缀操作符的两个以上操作数中。

function getInt(value: Int) -> Int {
return _a? ?? _b?.count ?? 0
}

任何崩溃都是编译器错误(不管代码是否有效)。尝试最新的测试版,如果它仍然崩溃文件的错误报告在 Bugs.Swift. org。斯威夫特团队对这些很敏感。

我通过跟踪消除了这个错误。

我在“链接二进制与库”中添加了许多框架,并且也使用了桥接头。

我重新添加了所有框架,并再次添加了桥接头。这解决了我的问题。

我实际上在从 Swift 2.0移植到1.2的过程中搞砸了一些核心数据实体(不要问为什么) 我删除了所有的实体类并重新创建了它们。我得到了很多错误消息,然后当我修复他们所有的项目建成成功。

当我试图构建发布方案时,我有代码11。它指出了一个视图控制器类(Swift) ,其中包含这段代码:

 required init(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
stuff...
}

问题在于,当我向它添加了超类时,我忘记了也实现 init。所以 super.init 导致编译器错误内存区段错误: 11 因此,如果您有这样的问题,最好也检查任何超类。

对于其他遇到这个问题的人... ... 我发现这个问题是由导入定制框架引起的,我不知道如何纠正它。但是只要从框架中删除导入和任何引用项的代码就可以解决这个问题。

(乍温 ° □ °)乍温

希望这可以节省一些人几个小时追查哪条线是导致问题。

在导入自己开发的框架时,我也有内存区段错误11(是的,感觉真的很蠢)。

在开发了几个月的框架并将其集成到一个混合了 Obj-C 和 Swift 的主项目中之后,导入到 Obj-C 是没有问题的,但是当我用 Swift 编写了 import MySwiftProject之后,一切都乱套了。

长话短说,问题在于我创建了一些自定义方法,它们使用闭包为 NSNotifications提供类型化,例如:

func post(a : Int, b : String)
{
NSNotificationCenter.defaultCenter().postNotification("notification", object: nil, userInfo: ["a" : a, "b" : b])
}


func observe(block : (a : Int, b : String) -> ()) -> NSObjectProtocol
{
return  NSNotificationCenter.defaultCenter().addObserverForName("notification", object: nil, queue: nil)
{
(n : NSNotification!) -> () in


// Unwrap the notification payload and provide types
if let a = n.userInfo?["a"] as? Int, let b = n.userInfo?["b"] as? String
{
block(a, b)
}
}
}

(实际上,上面的代码是我用模板做的,但那是另一回事)

罪魁祸首:

func ... -> NSObjectProtocol

显然,苹果可以在 NSNotification方法的声明中使用 NSObjectProtocol,但是当我这样做时,它引入了 Segfault 11。用 AnyObject代替 NSObjectProtocol解决了坠机问题。

不幸的是,这可能无法解决您的问题,因为 Segfault 11只是编译器的一般崩溃,但是您可以采取步骤来解决它。我花了大约两个小时,但我做到了:

  1. 创建一个新项目,复制已有的结构。在我的例子中,我创建了一个单视图控制器快速项目,并在其中添加了一个快速框架作为另一个项目。
  2. 将所有原始代码从一个复制到另一个。
  3. 进入编译阶段,开始删除要编译的文件,尝试禁用一些非常快速的代码(比如我的 NSNotification 类型化)。
  4. 每次你做一个改变,做一个清理( + K) ,构建( + B)和修复任何错误。
  5. 从3开始重复,直到内存区段错误消失。

当我得到这个错误从 Swift 转换到 Swift 2.0,它清楚地表明一个特定的文件(blahClass.Swift)有问题,然后它概述了所有的警告和错误的错误消息文本。我手动解决了这些问题,现在应用程序编译得很好。

对我来说,这是由我的一些代码造成的。XCode 中详细的编译器输出实际上指出了崩溃的方法。

然后我注释掉了该方法中的所有代码,使其返回 nil,并且它确实进行了编译。然后,我使用不同的、更简单的代码重新实现了这个方法,它起作用了。

我向苹果公司提交了一份错误报告。这就是导致 XCode 7/Swift 2.0崩溃的疯狂代码。

  func numberAndTitleFromDirectoryName(dirName: String) -> (Int, String)? {
let components = dirName.characters.split(maxSplit: 1, allowEmptySlices: false) { $0 == " " }.map { String($0) }.map { String($0) }
if let number = components.first?.toInt() {
if let title = components.last {
return (number, title)
}
}
return nil;
}

我想我使用 map 函数有点过于兴奋了... ... 新版本更简单,也更人性化。编译器还是不应该崩溃。在最坏的情况下,它应该显示一些错误。Swift 1中使用的代码。X

对我而言,这是由于 Swift 2.0中 解析 SDK 语法的变化造成的。如果您正在使用 Parse 并升级到 Swift 2.0,则需要更改以下语法:

迅捷1.2:

myPFQuery.findObjectsInBackgroundWithBlock({ (queryResults: [AnyObject]?, error: NSError?) -> Void in


// CODE


})

Swift 2.0:

myPFQuery.findObjectsInBackgroundWithBlock { (queryResults: [PFObject]?, error: NSError?) -> Void in


// CODE


}

去掉第一个“(’和最后一个’)”是造成最大问题的原因。我花了好久才找到这个!

提醒一下那些可能和我处境相同的人因为我花了好几个小时才解决..。

我在 Xcode 使用 ABc1功能时遇到了这个错误。问题是,有些字符由于我的粗心而被“过度替换”(即不仅替换相关部分,而且替换冗余部分) ,因此一些变量变成了未定义的变量。尽管如此,这些未定义的变量在编译过程中没有被捕获(即使在创建了 clean之后) ,最终 信号分割错误显示在屏幕上。

在 Command 由于信号内存区段错误: 11而失败之后,会提到一个文件名。至少对我来说是这样。随着 Swift 升级到2.0,一些核心属性变成了可选的。如果处理不当,就会抛出这个错误。处理可选的错误很好地排除了错误。就我而言,这是由于没有处理好:

        if let scheduledNotifications = UIApplication.sharedApplication().scheduledLocalNotifications as [UILocalNotification]?{
}

祝你好运!

我找到了这个错误。在一些挫折之后,我尝试 Xcode 干净,一切又开始工作了。把这个留在这里,以备将来参考。

我在构建测试时遇到了这个问题。Build to Run 工作正常。Xcode 7/Swift 2不喜欢变量的初始化方式。此代码在 Xcode 6.4中运行良好。下面是引起赛格错误的线条:

var lineWidth: CGFloat = (UIScreen.mainScreen().scale == 1.0) ? 1.0 : 0.5

改成这样就解决了问题:

var lineWidth: CGFloat {
return (UIScreen.mainScreen().scale == 1.0) ? 1.0 : 0.5
}

在我的例子中,原因是在一个扩展中的另一个类中声明了一个类。

extension classOrig {
class classChild {
class classGrandChild {
static let aVariable : String = "SomeValue";
}
}
}

这在我这边产生了错误。我在我的项目中有几个框架,但是以前没有发生过。

我也为此挣扎了一段时间。我用 Xcode 7.2把我的代码升级到 Swift 2,对我来说问题是:

self.mainScrollView.documentView!.subviews.reverse() as! [MainSubView]

我不得不改成:

(self.mainScrollView.documentView!.subviews as! [MainSubView]).reverse()

Let 属性中的数组中的命名元组给我带来了 seg 错误问题。

这种情况发生在我的代码中有一些嵌套的函数 其中一个嵌套函数正在调用另一个嵌套函数。

我只是删除了嵌套函数之间的链接,这个问题就解决了。

感谢@Ron B 的回答。

我只是有这个问题,并发现这是因为我不小心在一个函数上留下了一个 override,我已经从类转移到了一个协议(因此子类不再重写父类的函数)。

我在 Swift 2中尝试定义一个新的 OptionSetType结构时遇到了这个 bug。当我将 init()参数的类型从 Self.RawValue更正为 Int时,崩溃停止了:

// bad:
//  public init(rawValue: Self.RawValue) {
//      self.rawValue = rawValue
//  }


// good:
public init(rawValue: Int) {
self.rawValue = rawValue
}

在我的例子中,有几个方法实例使用类似于这样的签名(注意 < strong > 可选 字典数组)来获取闭包:

// 'results' being nil means "failure".
func queryItems(
completion:( (results:[[String:AnyObject]]?)->(Void) )
)
{
// (async operation...)

我开始把它重组成:

// 'results' is NEVER nil (at most, empty). Pass any errors to the
//   failure: closure instead.
func queryItems(
success:( (results:[[String:AnyObject]])->(Void) ),
failure:( (error:NSError) -> (Void) )
)
{
// (async operation...)

... 但是没有完成,所以一些方法期望一个带有可选参数的闭包,并且在哪里被传递一个非可选参数(或者反之亦然?)我猜编译器跟丢了。

对于我来说,当我在从类 init 方法调用的方法的 CompletionHandler 中偶然调用“ super.init ()”时,就会出现这种情况。

init() {
someFunction(argument, completionHandler: { (data) -> () in
super.init()
...
}

而不是

init() {
super.init()
someFunction(argument, completionHandler: { (data) -> () in
...
}

我在重写子类中的一个属性时出现了这个错误,我没有精确地重复该属性的声明。

基本类别:

var foo: String! {return nil}

附属类别:

override var foo: String {return "bar"} // missing the implicit unwrap operator

在我的例子中,产品清洁然后重新启动 Xcode 确实解决了这个问题..。

对我来说是因为我有两个同名的包裹。

如果使用 git,很容易修复。

1) 在终端:

git stash

赛格断层消失。

3) 运行应用程序。

4) 在终端:

git stash pop

5) Xcode 现在告诉你真正的问题。

仔细阅读调试消息。

在我的例子中,我遇到了这个错误,因为我在 if 语句中错误地使用了单个“ =”而不是 double“ =”。

if aString.characters.count = 2 {...}

这些答案对我都没用,但我找到了问题所在。它必须与 错误处理(在禁用错误传播部分)有关。我有个方法:

func getSlider() throws -> UISlider {
... // code that could throw an error
return UISlider()
}

这样引用:

func anotherMethod() -> Float {
return try! getSlider().value
}

给出了错误。但是,当切换到这个时,它消失了:

func anotherMethod() -> Float {
return (try! getSlider()).value
}
object.doubleValue = dict["doublevalue"] as! Int

我发现的原因后,回滚每一步,我做... . 强制铸造到 Int 为一个双变量

我也遇到了这个问题。很明显,这是一个普遍的错误或者类似的错误,当 xcode 混淆的时候。在我的例子中,我从一个数组中为3个 var 赋值... ..。但是我没有指定数组中每个元素的数据类型。一旦我这么做了,问题就解决了。

我在第一次尝试使用 Realm.io时也遇到了同样的问题。出现这个错误的原因是我将目标命名为 Realm,这导致了名称空间冲突。这个问题在我将我的项目和目标名称改为其他名称后得到了解决,正如在 这个问题中所解释的那样。

我的建议是检查类似的名称空间冲突。

在我的例子中,我在 ViewController 子类中声明了以下属性:

@property NSString * title

我认为这与 ViewController中已经存在的 title属性有冲突。我将此属性重命名为其他属性,并对其使用进行了重构,错误消失了。

我在 Xcode 7.3和 iOS 9.3中遇到过类似的问题。 Command failed due to signal: Segmentation fault: 11

Screenshot

清除(cmd + shift + k)代码、删除派生数据和退出 Xcode 等基本步骤不起作用。

我的代码里有一些罪魁祸首。

[txtUserName.text.characters.count = 0]

在你的情况下 检查代码并修复元凶。

人为错误报告:

在我的案例中,罪魁祸首是 传入一个数组来代替变量参数,也就是说,签名:

// Note the variadic parameter
func addSubview(subview subview: UIView, constrain: NSLayoutAttribute...)

我进去了:

// Compile-time error, "constrain" parameters have array brackets
someUIView.addSubview(subview: someOtherView, constrain: [.Leading, .Top, .Bottom, .Trailing])

而不是:

// Correct
someUIView.addSubview(subview: someOtherView, constrain: .Leading, .Top, .Bottom, .Trailing)

在我的例子中,这是由于试图使用一个函数,该函数返回一个 NSNumber 作为参数,其中需要一个 Double。我的建议是小心地将 Objective C 对象与 Swift 数据类型混合。正如许多其他人建议的那样,注释掉代码行,直到确定是哪一行导致了错误。(即使你在这样做的时候创建了其他错误,你也可以忽略它们,看看是什么让内存区段错误错误消失。)

对我来说,我阻塞了主线。

我如何用 GCD 修复它(见下文)

dispatch_async(dispatch_get_main_queue(),
})

我的迷你内存区段错误用的是 Xcode 机器人。Seg 错误只发生在测试的构建步骤期间,而不是在本地构建或运行期间。只有在 Xcode 机器人在构建阶段的测试。

我使用的是 macOS Sierra 和 Xcode 8,代码转换为 Swift 2.3。

我终于找到了引起赛格断层的线路,它是由:

public let isIpad = UIDevice.currentDevice().userInterfaceIdiom == .Pad

在类的外部声明为常量,将其更改为在运行时检查 userInterfaceidiom 就解决了这个问题。

希望这能帮到别人!

这是我的 seg 错误的错误日志:

0  swift                    0x000000010f93d76b llvm::sys::PrintStackTrace(llvm::raw_ostream&) + 43
1  swift                    0x000000010f93ca56 llvm::sys::RunSignalHandlers() + 70
2  swift                    0x000000010f93ddbf SignalHandler(int) + 287
3  libsystem_platform.dylib 0x00007fffb24aabba _sigtramp + 26
4  libsystem_platform.dylib 0x00007fbbfff49ae0 _sigtramp + 1302982464
5  swift                    0x000000010db79996 (anonymous namespace)::Traversal::visit(swift::Expr*) + 118
6  swift                    0x000000010db7b880 (anonymous namespace)::Traversal::visitApplyExpr(swift::ApplyExpr*) + 128
7  swift                    0x000000010db799eb (anonymous namespace)::Traversal::visit(swift::Expr*) + 203
8  swift                    0x000000010db78f45 swift::Expr::walk(swift::ASTWalker&) + 53
9  swift                    0x000000010d6d2c87 walkForProfiling(swift::AbstractFunctionDecl*, swift::ASTWalker&) + 231
10 swift                    0x000000010d6d2719 swift::Lowering::SILGenProfiling::assignRegionCounters(swift::AbstractFunctionDecl*) + 553
11 swift                    0x000000010d6de348 (anonymous namespace)::SILGenType::emitType() + 952
12 swift                    0x000000010d6ddf1e swift::Lowering::SILGenModule::visitNominalTypeDecl(swift::NominalTypeDecl*) + 30
13 swift                    0x000000010d6625eb swift::Lowering::SILGenModule::emitSourceFile(swift::SourceFile*, unsigned int) + 731
14 swift                    0x000000010d663139 swift::SILModule::constructSIL(swift::ModuleDecl*, swift::SILOptions&, swift::FileUnit*, llvm::Optional<unsigned int>, bool, bool) + 793
15 swift                    0x000000010d6635a3 swift::performSILGeneration(swift::FileUnit&, swift::SILOptions&, llvm::Optional<unsigned int>, bool) + 115
16 swift                    0x000000010d491c18 performCompile(swift::CompilerInstance&, swift::CompilerInvocation&, llvm::ArrayRef<char const*>, int&) + 12536
17 swift                    0x000000010d48dc79 frontend_main(llvm::ArrayRef<char const*>, char const*, void*) + 2777
18 swift                    0x000000010d489765 main + 1957
19 libdyld.dylib            0x00007fffb229e255 start + 1

当您的开发目标不支持任何 UIControl 时

在我的案例中,我在一个具有开发目标 8.0的项目中使用了 StackView。 如果开发目标不支持任何 UIControl,则可能发生此错误。

当你设置错误的目标

在下面一行中,如果你把默认目标设置为“ target”而不是“ self”,那么就会出现内存区段错误11。

shareBtn.addTarget(self, action: #selector(ViewController.share(_:)), for: .touchUpInside)

当从 NSUserDefault 获取值时,我得到了这个错误:

let arr = defaults.objectForKey("myArray")

修复错误的方法是将类型强制转换为存储在 NSUserDefault 中的正确类型。以下内容没有错误:

let arr = defaults.objectForKey("myArray") as! Array<String>

我的代码里有这一行

weakSelf?.notifications = weakSelf?.notifications ?? [] + weakSelf?.chatNotificationDataSource ?? []

这是内存区段错误。 但后来我改成了这样:

weakSelf?.notifications = (weakSelf?.notifications ?? []) + (weakSelf?.chatNotificationDataSource ?? [])

应用程序开始工作。

我最近遇到了同样的问题,我将试着概括我是如何解决这个问题的,因为这些答案中的很多都是具体的,对每个人都有帮助。

1. 首先查看错误消息的底部以识别导致内存区段错误的文件和函数。

Error message

2.然后我查看这个函数并注释掉它的所有内容。我编译了,现在起作用了。然后,我一次从函数的各个部分删除注释,直到找到导致错误的那一行。在这之后,我能够修复它,它所有的工作。:)

我还遇到了 Segmentation fault: 11 error,因为我正在调用一个返回 Any object的方法,而编译器在理解正在使用的对象类型时感到困惑。

Any object转换为我正在使用的所需类型,解决了我的问题。

如果您正在使用多个版本的 XCode,那么如果您的路径已经更改(例如,。您将 DMG 下载到 Desktop,进行解压缩,然后将 XCode 移动到 Applications)。仔细阅读 XCode 中给出的内存区段错误11错误,它可能会引用你的旧路径,这是导致内存区段错误错误的原因。如果出现这种情况,你可以通过以下两种方式来解决:

  1. 例如,sudo xcode-select-s/Applications/Xcode-beta. app/content/Developer/(显然在这里输入正确的路径)
  2. 在安装第二个版本的 XCode 时,请确保它被提取到最终路径(提取到应用程序本身) ,并且当您这样做时“ XCode.app”不存在(如果存在,请重命名前一个)。安装之后,您可以随意重命名这两个名称。

这个问题的另一个潜在解决办法是:

从 El Capitan 升级到 Sierra 并且在这次升级后启动 Xcode 时“安装额外的组件”第一次为我修复了这个问题。

我用的是 Xcode 8.3/Swift 3

我使用@Ron B. 的回答浏览了所有代码并注释掉了不同的函数,直到我得到了一个成功的构建。原来是 async trailing closures导致了我的错误:

我的结尾:

let firstTask = DispatchWorkItem{
//self.doSomthing()
}
let secondTask = DispatchWorkItem{
//self.doSomthingElse()
}


//trailing closure #1
DispatchQueue.main.asyncAfter(deadline: .now() + 10){firstTask}


//trailing closure #2
DispatchQueue.main.asyncAfter(deadline: .now() + 20){secondTask}

有一次我使用了 autocomplete 语法 Segmentation fault: 11 消失了

//autocomplete syntax closure #1
DispatchQueue.main.asyncAfter(deadline: .now() + 10, execute: firstTask)


//autocomplete syntax closure #2
DispatchQueue.main.asyncAfter(deadline: .now() + 20, execute: secondTask)

在我的例子中,IGListKit 将他们名为 IGListSectionController 的类重构为 ListSectionController,而我已经有了一个名为 ListSectionController 的类。我使用 find 和 return,不知道我有一个同名的类。

class ListSectionController : ListSectionController

我完整地阅读了错误消息,并得出结论 当您具有循环依赖项时,也可能发生此错误。评论中没有提到这一点,我希望这能有所帮助。

我遇到了完全相同的问题,经过许多小时的调试,我发现这是因为我正在使用。Subscript ()而不是 between []。XCode 认为这是完全有效的,但是在构建时会出现这个内存区段错误错误。

enter image description here

我有同样的问题,所以我尝试切换优化水平到 快速单文件优化[-O ]而不是 快速,整体模块优化,然后它工作,建立,归档到应用商店成功。

我认为我们使用的一些框架需要重构以适应 快速,整体模块优化级别。 但我仍然没有找到那些框架。

这是一个简单的解决方案

只需按 cmd + shift + k

我的问题解决了,清理了这个项目

在我的例子中,我试图用一个助手方法来扩展 CoreData 类,这个助手方法可以处理它的所有子类:

extension ExampleCoreDataClass {
static func insert() -> Self {
...

我没有收到任何警告,但当我尝试编译它时,内存区段错误出现了。

经过一段时间的努力,我使用了一个协议扩展代替,这解决了错误:

extension NSFetchRequestResult where Self: ExampleCoreDataClass {
static func insert() -> Self {
...

在 WKInterfaceController (即监视应用程序)中使用三元语句时发现了这种情况!

我在一个 CI 版本中遇到了这个错误,我无法在本地重现它。原来我用的 Xcode 版本和我的线人用的不一样。

当我试图从单例中的“ static scope”(包含永远不会实例化的枚举中的常量)访问一个单例的 struct 实例的属性时,我得到了这个错误

在我的案例中,这发生在 Xcode 11 beta 3中,使用 Swift 5和 SwiftUI。

My View 有一个@State 属性,如下所示:

 @State private var normInfo: NormInfo?

这个问题通过使用 nil显式初始化得到了解决。

在我的例子中,我忘记删除源代码中的“ color Literal”(它没有赋值给任何属性或者没有作为方法参数传递) ,这就是编译器无法编译所有快速文件的原因。我只是删除了“颜色文字”和它的工作正常预期。

对我来说,这是因为传递了[ String: Int ]而不是[ String: Any ]check this image

我试图在我的代码中寻找所有的答案,同样的回购成功地建立在其他开发人员的电脑。但不是在我的:

我花了将近一个星期才修好。我做了所有可能的检查组合,如删除派生数据,关闭 xcode,重新启动 PC,git 存储,重置没有一个帮助。 然后我复制了在 Xcode 失败的 build 命令并在终端上运行它。 它失败了。显示了一个更多的行

(end of response file)
clang: error: unable to execute command: Segmentation fault: 11
clang: error: linker command failed due to signal (use -v to see invocation)

构建命令超过76K 个字符 因此,我删除了一些参数,这些参数不是强制性的,可以在终端中进一步处理。

所以我解决这个问题的方法是 ~/Desktop/Work/PROJECT_NAME/repo/ssh/AAA~/Desktop/repo/ 问题就解决了

长话短说,如果你像我一样面对这个问题,那么回购的路径就会减少。 我的 Xcode 版本12.3