Команда не удалось из-за сигнала: ошибка сегментации: 11
Я получаю ошибку ...
не удалось из-за сигнала: ошибка сегментации: 11
... при попытке скомпилировать мое приложение Swift. Я использую Xcode 6.1, пытаясь построить для iPhone 5 на iOS 8.1.
Код
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")
}
}"
30 ответов:
для тех, кто еще сталкивается с этим... Я обнаружил, что проблема была вызвана импортом пользовательской платформы, я понятия не имею, как ее исправить. Но простое удаление импорта и любого кода, ссылающегося на элементы из фреймворка, устраняет проблему.
(╯°□°)╯︵ ┻━┻
надеюсь, что это может сэкономить кому-то несколько часов, преследуя, какая линия вызывает проблему.
вы можете получить эту ошибку, когда компилятор слишком запутывается в том, что происходит в вашем коде. Я заметил, что у вас есть несколько функций, которые кажутся вложенными в функции. Вы можете попробовать комментировать некоторые из них в то время, чтобы увидеть, если ошибка уходит. Таким образом, вы можете сосредоточиться на проблемной области. Вы не можете использовать точки останова, потому что это ошибка времени компиляции, а не ошибку времени выполнения.
недавно я столкнулся с той же проблемой, и я попытаюсь обобщить, как я ее решил, так как многие из этих ответов должны быть полезны всем.
1. сначала посмотрите на нижнюю часть сообщения об ошибке, чтобы определить файл и функцию, которая вызывает ошибку сегментации.
2. затем я смотрю на эту функцию и комментирует все это. Я скомпилировал и теперь он работал. Тогда Я удалил комментарии из частей функции за один раз, пока я не попал в строку, которая была ответственна за ошибку. После этого я смог это исправить, и все это работает. :)
для меня, это было вызвано изменением в синтаксис Parse SDK в Swift 2.0. Если вы используете Parse и обновляетесь до Swift 2.0, изменяется следующий синтаксис:
Swift 1.2:
myPFQuery.findObjectsInBackgroundWithBlock({ (queryResults: [AnyObject]?, error: NSError?) -> Void in // CODE })
Swift 2.0:
myPFQuery.findObjectsInBackgroundWithBlock { (queryResults: [PFObject]?, error: NSError?) -> Void in // CODE }
удаление первого ' ('и последнего') ' является причиной самой большой проблемы. Мне потребовалась целая вечность, чтобы найти это!
Я попал в эту ошибку. После некоторого разочарования я попробовал Xcode clean, и все снова начало работать. Просто оставляю это здесь для дальнейшего использования.
когда я получил эту ошибку преобразования из Swift в Swift 2.0, он четко указывает на конкретный файл (blahClass.swift), что имеет проблему, то он изложил все предупреждения и ошибки в тексте сообщения об ошибке. Я прошел и разрешил их вручную, и теперь приложение компилируется нормально.
object.doubleValue = dict["doublevalue"] as! Int
Я нашел причину после откат каждый шаг, который я сделал.... принудительное приведение к Int для двойной переменной
для меня это было вызвано некоторыми из моих код. Подробный вывод компилятора в XCode фактически указал метод, где он был сбой.
затем я закомментировал весь код в методе, заставил его вернуть nil, и он скомпилировался. Затем я повторно реализовал метод, используя другой и гораздо более простой код, и он работал.
Я подала отчет об ошибке с Apple. Это-по общему признанию, несколько сумасшедший-код, который вызвал сбой в XCode 7 / Swift 2.0.
func numberAndTitleFromDirectoryName(dirName: String) -> (Int, String)? { let components = dirName.characters.split(maxSplit: 1, allowEmptySlices: false) { == " " }.map { String() }.map { String() } if let number = components.first?.toInt() { if let title = components.last { return (number, title) } } return nil; }
Я думаю, что я немного переусердствовал, используя функцию map там... Новая версия намного проще, а также более понятна для человека. Тем не менее компилятор не должен аварийно завершать работу. В худшем случае он должен показать некоторые ошибки. Код как работает в Swift 1.x
у меня была аналогичная проблема с Xcode 7.3 и iOS 9.3.
Command failed due to signal: Segmentation fault: 11
основные шаги, такие как чистый (cmd+shift+k) код, удаление производных данных и выход из Xcode не работали.
в моем коде был какой-то преступник.
Он был
[txtUserName.text.characters.count = 0]
в вашем случае просмотрите свой код и исправьте виновника.
одним из случаев является то, что вы назвали тип данных переменной getter, как и ее имя. Например:
var someInstance: someInstance {...
обновление #1. Держите внимание на _a переменная, которая не является Int, и вы забываете указать правильный тип возврата. Проблема возникает более чем в двух операндах оператора infix.
function getInt(value: Int) -> Int { return _a? ?? _b?.count ?? 0 }
легко исправить при использовании git.
1) В терминала:
git stash
2) ошибка Seg исчезает.
3) выполнить приложение.
4) В терминала:
git stash pop
5) Xcode теперь говорит вам о реальной проблеме.
любой сбой является ошибкой компилятора (независимо от того, действителен ли ваш код). Попробуйте последнюю бета-версию, и если она все еще падает файл отчет об ошибке в bugs.swift.org. команда Swift очень отзывчива на них.
Я избавился от этой ошибки следующий.
У меня было много фреймворков, добавленных в "Link Binary With Libraries", и также использовался заголовок моста.
Я повторно добавил все фреймворки и снова добавил заголовок моста. Это решило мою проблему.
Я использую 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}
как только я использовал синтаксис автозаполнения the
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)
У меня такая же проблема, поэтому я попытался переключиться на уровень оптимизации Быстрая, Однофайловая Оптимизация [- O] вместо Быстрая Оптимизация Всего Модуля затем он работал, строил, архивировал, чтобы Appstore преуспел.
некоторые фреймворки, которые мы использовали, нуждаются в рефакторинге для адаптации с Быстрая Оптимизация Всего Модуля
У меня был этот код 11 при попытке построить схему выпуска. Он указал на один класс viewcontroller (swift), который имел этот кусок кода внутри:
required init(coder aDecoder: NSCoder) { super.init(coder: aDecoder) stuff... }
проблема была в том, что когда я добавил суперкласс к нему, я забыл также реализовать init. Так что супер.init вызвал ошибку компилятора ошибка сегментации: 11 Так что если у вас есть такая проблема, это хорошая идея, чтобы проверить также любые суперклассы.
у меня также была ошибка сегментации 11, когда я импортировал фреймворк, сделанный сам (да, чувствовал себя очень глупо).
после разработки фреймворка в течение нескольких месяцев и интеграции его в основной проект со смешанными Obj-C и Swift, импорт в Obj-C не был проблемой, но как только я написал
import MySwiftProject
в Swift, весь ад вырвался на свободу.короче говоря, проблема в том, что я создал некоторые пользовательские методы, которые обеспечивают типизации
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
видимо, Apple может использовать
NSObjectProtocol
в объявленииNSNotification
методы, но когда я это делаю, он вводитSegfault 11
. ЗаменаNSObjectProtocol
доAnyObject
решается аварии.к сожалению, это может не решить вашу проблему, так как segfault 11-это просто общий сбой компилятора, но вы можете предпринять шаги решить ее. Мне потребовалось около 2 часов, но это то, что я сделал:
- создайте новый проект, копируя структуру, которая у вас была. В моем случае я создал один проект swift контроллера вида и добавил SWIFT framework внутри как другой проект.
- скопируйте весь исходный код из одного в другой.
- перейдите к фазе компиляции и начните удалять файлы для компиляции, попробуйте отключить фрагменты кода, которые очень быстры (например, мой NSNotification типизация.)
- каждый раз, когда вы делаете изменения, сделать чистую (⌘⌥⇧ +K), build (⌘+B) и исправить любые ошибки.
- повторяйте от 3 до тех пор, пока ошибка сегментации не исчезнет.
в моем случае причиной было объявление класса в другом классе в пределах расширения.
extension classOrig { class classChild { class classGrandChild { static let aVariable : String = "SomeValue"; } } }
Это породило ошибку на моей стороне. У меня было несколько фреймворков в моем проекте, но раньше этого не происходило.
Я также боролся с этим некоторое время. Я обновил свой код до Swift 2 с помощью Xcode 7.2, и для меня проблема заключалась в следующем:
self.mainScrollView.documentView!.subviews.reverse() as! [MainSubView]
что я должен был изменить на:
(self.mainScrollView.documentView!.subviews as! [MainSubView]).reverse()
Я получил эту ошибку, когда я переопределял свойство в подклассе, и я не повторил объявление свойства точно.
базовый класс:
var foo: String! {return nil}
подкласс:
override var foo: String {return "bar"} // missing the implicit unwrap operator
внимательно прочитайте сообщение отладки.
в моем случае, я столкнулся с этой ошибкой, потому что я использовал один '=' вместо double '=' по ошибке в if-оператор.
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 }
Я тоже столкнулся с этой проблемой.... очевидно, это общая ошибка или рода... когда xcode запутывается.... в моем случае у меня было 3 vars, которым я присваивал значения из массива.... но я не указать тип данных в каждом элементе массива.... как только я это сделал, это решило проблему....
в моем случае я объявил следующее свойство в одном из моих подклассов ViewControllers:
@property NSString * title
Я думаю, что это противоречило уже существующему
title
в собственностьViewController
. Я переименовал это свойство во что-то другое и изменил его использование, и ошибка исчезла.
в моем случае это было вызвано попыткой использовать функцию, которая возвращала NSNumber в качестве аргумента, где ожидался Double. Мой совет-будьте осторожны, смешивая объекты Objective C с быстрыми типами данных. И как многие другие предложили, закомментируйте строки, пока не определите, какой из них вызывает ошибку. (Даже если вы создаете другие ошибки при этом, вы можете просто игнорировать их и посмотреть, что делает ошибку ошибки сегментации уйти.)
для меня я блокировал основной поток.
что я сделал, чтобы исправить это с помощью GCD (см. ниже)
dispatch_async(dispatch_get_main_queue(), })
отчет об ошибке человека:
в моем случае виновником был передача в массиве вместо вариационного параметра. То есть для подписи:
// 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)
Я получил ошибку сегментации на моем Mac Mini с помощью ботов Xcode. Ошибка seg произошла только на этапе сборки тестирования, а не во время сборки или запуска локально. Только в Xcode ботах на этапе сборки тестирования.
Я использую macOS Sierra и Xcode 8, с кодом, преобразованным в Swift 2.3.
Я наконец нашел линию, вызывающую ошибку seg, это было вызвано:
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
В моем случае я использую
StackView
в проекте с целью разработки8.0
. Эта ошибка может произойти, если ваша цель разработки не поддерживает какой-либо UIControl.когда вы устанавливаете неправильный элемент
в строке ниже, если вы оставите цель по умолчанию "target" вместо self, то возникает ошибка сегментации 11.
shareBtn.addTarget(self, action: #selector(ViewController.share(_:)), for: .touchUpInside)