2014-11-04 4 views
12

iPhone 및 iPad 용으로 Swift에서 새로운 단일보기 응용 프로그램을 만들기 시작한 이래 항상이 문제가있었습니다. 대상이 iOS 8.1 인 경우 모두 정상적으로 작동하지만 iOS 7.1 (또는 7)을 설정하면 세그먼트 오류가 발생합니다. 이것은 내가 제품> 아카이브로 갈 때, 시뮬레이터 나 장치에서 프로젝트를 실행할 때 모든 것이 정상입니다. 나는 iOS 7과 8 시뮬레이터를 모두 시험해 보았고 컴파일했다. 내가 말했듯이이 문제는 새로 생성 된 프로젝트에서도이 방식으로 동작하므로 코드에 없습니다.Swift : iOS 7에서 보관 용으로 컴파일 할 때 분할 오류가 발생했습니다.

CompileSwift normal armv7 /Users/francesco/Documents/XCode Projects/Prova/Prova/ViewController.swift 
cd /Users/francesco/Documents/XCode Projects/Prova 
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift -frontend -c -primary-file "/Users/francesco/Documents/XCode Projects/Prova/Prova/ViewController.swift" "/Users/francesco/Documents/XCode Projects/Prova/Prova/AppDelegate.swift" -target armv7-apple-ios7.1 -target-cpu cortex-a8 -target-abi apcs-gnu -sdk /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.1.sdk -I /Users/francesco/Library/Developer/Xcode/DerivedData/Prova-argzihphsooyijfpeustrrhxmfmk/Build/Intermediates/ArchiveIntermediates/Prova/BuildProductsPath/Release-iphoneos -F /Users/francesco/Library/Developer/Xcode/DerivedData/Prova-argzihphsooyijfpeustrrhxmfmk/Build/Intermediates/ArchiveIntermediates/Prova/BuildProductsPath/Release-iphoneos -g -module-cache-path /Users/francesco/Library/Developer/Xcode/DerivedData/ModuleCache -Xcc -I/Users/francesco/Library/Developer/Xcode/DerivedData/Prova-argzihphsooyijfpeustrrhxmfmk/Build/Intermediates/ArchiveIntermediates/Prova/IntermediateBuildFilesPath/Prova.build/Release-iphoneos/Prova.build/swift-overrides.hmap -Xcc -iquote -Xcc /Users/francesco/Library/Developer/Xcode/DerivedData/Prova-argzihphsooyijfpeustrrhxmfmk/Build/Intermediates/ArchiveIntermediates/Prova/IntermediateBuildFilesPath/Prova.build/Release-iphoneos/Prova.build/Prova-generated-files.hmap -Xcc -I/Users/francesco/Library/Developer/Xcode/DerivedData/Prova-argzihphsooyijfpeustrrhxmfmk/Build/Intermediates/ArchiveIntermediates/Prova/IntermediateBuildFilesPath/Prova.build/Release-iphoneos/Prova.build/Prova-own-target-headers.hmap -Xcc -I/Users/francesco/Library/Developer/Xcode/DerivedData/Prova-argzihphsooyijfpeustrrhxmfmk/Build/Intermediates/ArchiveIntermediates/Prova/IntermediateBuildFilesPath/Prova.build/Release-iphoneos/Prova.build/Prova-all-target-headers.hmap -Xcc -iquote -Xcc /Users/francesco/Library/Developer/Xcode/DerivedData/Prova-argzihphsooyijfpeustrrhxmfmk/Build/Intermediates/ArchiveIntermediates/Prova/IntermediateBuildFilesPath/Prova.build/Release-iphoneos/Prova.build/Prova-project-headers.hmap -Xcc -I/Users/francesco/Library/Developer/Xcode/DerivedData/Prova-argzihphsooyijfpeustrrhxmfmk/Build/Intermediates/ArchiveIntermediates/Prova/BuildProductsPath/Release-iphoneos/include -Xcc -I/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include -Xcc -I/Users/francesco/Library/Developer/Xcode/DerivedData/Prova-argzihphsooyijfpeustrrhxmfmk/Build/Intermediates/ArchiveIntermediates/Prova/IntermediateBuildFilesPath/Prova.build/Release-iphoneos/Prova.build/DerivedSources/armv7 -Xcc -I/Users/francesco/Library/Developer/Xcode/DerivedData/Prova-argzihphsooyijfpeustrrhxmfmk/Build/Intermediates/ArchiveIntermediates/Prova/IntermediateBuildFilesPath/Prova.build/Release-iphoneos/Prova.build/DerivedSources -emit-module-doc-path /Users/francesco/Library/Developer/Xcode/DerivedData/Prova-argzihphsooyijfpeustrrhxmfmk/Build/Intermediates/ArchiveIntermediates/Prova/IntermediateBuildFilesPath/Prova.build/Release-iphoneos/Prova.build/Objects-normal/armv7/ViewController~partial.swiftdoc -O -module-name Prova -emit-module-path /Users/francesco/Library/Developer/Xcode/DerivedData/Prova-argzihphsooyijfpeustrrhxmfmk/Build/Intermediates/ArchiveIntermediates/Prova/IntermediateBuildFilesPath/Prova.build/Release-iphoneos/Prova.build/Objects-normal/armv7/ViewController~partial.swiftmodule -serialize-diagnostics-path /Users/francesco/Library/Developer/Xcode/DerivedData/Prova-argzihphsooyijfpeustrrhxmfmk/Build/Intermediates/ArchiveIntermediates/Prova/IntermediateBuildFilesPath/Prova.build/Release-iphoneos/Prova.build/Objects-normal/armv7/ViewController.dia -emit-dependencies-path /Users/francesco/Library/Developer/Xcode/DerivedData/Prova-argzihphsooyijfpeustrrhxmfmk/Build/Intermediates/ArchiveIntermediates/Prova/IntermediateBuildFilesPath/Prova.build/Release-iphoneos/Prova.build/Objects-normal/armv7/ViewController.d -o /Users/francesco/Library/Developer/Xcode/DerivedData/Prova-argzihphsooyijfpeustrrhxmfmk/Build/Intermediates/ArchiveIntermediates/Prova/IntermediateBuildFilesPath/Prova.build/Release-iphoneos/Prova.build/Objects-normal/armv7/ViewController.o 

Stack dump: 
0. Program arguments: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift -frontend -c -primary-file /Users/francesco/Documents/XCode Projects/Prova/Prova/ViewController.swift /Users/francesco/Documents/XCode Projects/Prova/Prova/AppDelegate.swift -target armv7-apple-ios7.1 -target-cpu cortex-a8 -target-abi apcs-gnu -sdk /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.1.sdk -I /Users/francesco/Library/Developer/Xcode/DerivedData/Prova-argzihphsooyijfpeustrrhxmfmk/Build/Intermediates/ArchiveIntermediates/Prova/BuildProductsPath/Release-iphoneos -F /Users/francesco/Library/Developer/Xcode/DerivedData/Prova-argzihphsooyijfpeustrrhxmfmk/Build/Intermediates/ArchiveIntermediates/Prova/BuildProductsPath/Release-iphoneos -g -module-cache-path /Users/francesco/Library/Developer/Xcode/DerivedData/ModuleCache -Xcc -I/Users/francesco/Library/Developer/Xcode/DerivedData/Prova-argzihphsooyijfpeustrrhxmfmk/Build/Intermediates/ArchiveIntermediates/Prova/IntermediateBuildFilesPath/Prova.build/Release-iphoneos/Prova.build/swift-overrides.hmap -Xcc -iquote -Xcc /Users/francesco/Library/Developer/Xcode/DerivedData/Prova-argzihphsooyijfpeustrrhxmfmk/Build/Intermediates/ArchiveIntermediates/Prova/IntermediateBuildFilesPath/Prova.build/Release-iphoneos/Prova.build/Prova-generated-files.hmap -Xcc -I/Users/francesco/Library/Developer/Xcode/DerivedData/Prova-argzihphsooyijfpeustrrhxmfmk/Build/Intermediates/ArchiveIntermediates/Prova/IntermediateBuildFilesPath/Prova.build/Release-iphoneos/Prova.build/Prova-own-target-headers.hmap -Xcc -I/Users/francesco/Library/Developer/Xcode/DerivedData/Prova-argzihphsooyijfpeustrrhxmfmk/Build/Intermediates/ArchiveIntermediates/Prova/IntermediateBuildFilesPath/Prova.build/Release-iphoneos/Prova.build/Prova-all-target-headers.hmap -Xcc -iquote -Xcc /Users/francesco/Library/Developer/Xcode/DerivedData/Prova-argzihphsooyijfpeustrrhxmfmk/Build/Intermediates/ArchiveIntermediates/Prova/IntermediateBuildFilesPath/Prova.build/Release-iphoneos/Prova.build/Prova-project-headers.hmap -Xcc -I/Users/francesco/Library/Developer/Xcode/DerivedData/Prova-argzihphsooyijfpeustrrhxmfmk/Build/Intermediates/ArchiveIntermediates/Prova/BuildProductsPath/Release-iphoneos/include -Xcc -I/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include -Xcc -I/Users/francesco/Library/Developer/Xcode/DerivedData/Prova-argzihphsooyijfpeustrrhxmfmk/Build/Intermediates/ArchiveIntermediates/Prova/IntermediateBuildFilesPath/Prova.build/Release-iphoneos/Prova.build/DerivedSources/armv7 -Xcc -I/Users/francesco/Library/Developer/Xcode/DerivedData/Prova-argzihphsooyijfpeustrrhxmfmk/Build/Intermediates/ArchiveIntermediates/Prova/IntermediateBuildFilesPath/Prova.build/Release-iphoneos/Prova.build/DerivedSources -emit-module-doc-path /Users/francesco/Library/Developer/Xcode/DerivedData/Prova-argzihphsooyijfpeustrrhxmfmk/Build/Intermediates/ArchiveIntermediates/Prova/IntermediateBuildFilesPath/Prova.build/Release-iphoneos/Prova.build/Objects-normal/armv7/ViewController~partial.swiftdoc -O -module-name Prova -emit-module-path /Users/francesco/Library/Developer/Xcode/DerivedData/Prova-argzihphsooyijfpeustrrhxmfmk/Build/Intermediates/ArchiveIntermediates/Prova/IntermediateBuildFilesPath/Prova.build/Release-iphoneos/Prova.build/Objects-normal/armv7/ViewController~partial.swiftmodule -serialize-diagnostics-path /Users/francesco/Library/Developer/Xcode/DerivedData/Prova-argzihphsooyijfpeustrrhxmfmk/Build/Intermediates/ArchiveIntermediates/Prova/IntermediateBuildFilesPath/Prova.build/Release-iphoneos/Prova.build/Objects-normal/armv7/ViewController.dia -emit-dependencies-path /Users/francesco/Library/Developer/Xcode/DerivedData/Prova-argzihphsooyijfpeustrrhxmfmk/Build/Intermediates/ArchiveIntermediates/Prova/IntermediateBuildFilesPath/Prova.build/Release-iphoneos/Prova.build/Objects-normal/armv7/ViewController.d -o /Users/francesco/Library/Developer/Xcode/DerivedData/Prova-argzihphsooyijfpeustrrhxmfmk/Build/Intermediates/ArchiveIntermediates/Prova/IntermediateBuildFilesPath/Prova.build/Release-iphoneos/Prova.build/Objects-normal/armv7/ViewController.o 
1. While type-checking 'ViewController' at /Users/francesco/Documents/XCode Projects/Prova/Prova/ViewController.swift:11:1 

Command failed due to signal: Segmentation fault: 11 

아무도이 문제에 대해 어떤 생각을 갖고 있습니까?

업데이트 : armv7s 및 arm64를 iOS 7로 타겟팅 할 수 있습니다. armv7이 문제의 원인입니다. armv7이 iOS 8 및 iOS 7을 대상으로하는 경우 모든 것이 작동합니다. 필자는 이전 버전의 장치에서 구형 OS를 지원하는 것이 더 중요하기 때문에 좋은 해결책은 아닙니다.

답변

2

Xcode를 닫고 다른 프로젝트를 연 다음이 프로젝트를 다시로드하여 문제를 해결했습니다. 버그였습니다.

2

다른 사람들이 인증서에 문제가 있다고 말해주기 전까지 동일한 문제가있었습니다. 개발자 센터로 이동하여 인증서 & 프로비저닝 프로파일을 재생성합니다. 그 후에 그것은 작동해야합니다!

+0

모두 자동으로 설정되었으므로 Xcode에서 문제를 찾아서 (시도하려고합니다.) 맞습니까? – FrCr

+0

아니요, 도움이되지 않습니다. 인증서를 갱신해야합니다 (새 코드 서명 요청 (.csr) 파일을 업로드하고 모든 프로비저닝 프로파일을 다시 작성해야합니다). – Hannes

+0

오 마이 갓. 이것은 나를 위해 절대적으로 그것을했습니다. 환경 설정> 계정> 세부 정보로 이동하여 내 인증서의 새로 고침 버튼을 누르십시오. 더 이상 세그먼트 11 오류가 없습니다. 스택 추적이 잘못되었습니다. 유형 검사 오류에 대해 이야기합니다. 나는 잠재적으로 모호한 타이 앨리아를 주변에서 움직이고 있었고, 모든 종류의 것들을 움직이고있었습니다. @ Hannes에게 감사합니다! – SimplGy

2

Xcode 6.1에서도 동일한 문제가있었습니다. 건물 및 스위프트 프로젝트를 실행 아무 문제 없었다, 보관이 오류로 주도 :

Command failed due to signal: Segmentation fault: 11 
1. While type-checking <my Swift class> 

7.07.1까지 프로젝트의 배포 대상을 변경 문제를 해결, 응용 프로그램은 이제 보관할 수 있습니다.

0

동일한 문제가 발생하여 다른 실험뿐만 아니라 선택한 답변 (예 : Xcode 등 닫기 및 다시 열기)을 시도해도 도움이되지 않았습니다. 스택을 기반으로 다음 코드는 실패했다 추적 : 다음 코드에서

var cell = self.tableView.cellForRowAtIndexPath(NSIndexPath(forRow: row, inSection: 0)) as UITableViewCell 
var cell2 = self.tableView.cellForRowAtIndexPath(NSIndexPath(forRow: row2, inSection: 0)) as UITableViewCell 

내가 선택적 항목 등 모두 세포와 CELL2 치료, 그래서 나는이 과제를 풀기 귀찮게하지 않았다. 분명히 스위프트는 나에 대한 Seg-fault에 충분히 싫어했다. 몇 가지 실험을 마친 후 코드를

으로 변경했으며 스위프트 분할 오류가 중지되었습니다. 이 문제는 Xcode 6.1.1 (6A2008A)에서 발생했습니다.

이 문제가 계속 발생하면 스택 추적에서 충돌이 발생하는 위치를 확인해야합니다. 그것은 코드를 방출하는 것에 관해 말할 것이고 위치 할 수 있어야한다.

0

동일한 문제가 발생했습니다. 컴파일은 시뮬레이터와 장치에서 잘 실행되지만 보관 중에 seg fault 11이 발생합니다. 나는 다른 해결책을 여기에서 시도했지만 여전히 오류를 얻고있다.

제네릭과 NSCoding 프로토콜을 사용하는 방법으로 원인을 차단했습니다. 프로토콜을 제거하면 문제가 해결되었습니다.

는 독방 감금 오류의 원인이되었다

func saveToDefaults<T: NSCoding>(objectToSave : T?, key : String) 

을하지만이로 변경 그것을 고정 :

func saveToDefaults<T>(objectToSave : T?, key : String){ 
    if let objectToSave = objectToSave as? NSCoding { 
      ... 

그것은 원본과 같은 강력한 아니지만, 그것을 컴파일합니다.