在我的文件中添加一个(方便的)计算height属性会导致Swift编译器出现段错误......这里可能出现什么问题?UIViewUIViewExtension.swift
0 swift 0x00000001061e5608 llvm::sys::PrintStackTrace(__sFILE*) + 40
1 swift 0x00000001061e5af4 SignalHandler(int) + 452
2 libsystem_platform.dylib 0x00007fff894da5aa _sigtramp + 26
3 libsystem_platform.dylib 0xb03939841e997c88 _sigtramp + 2504775416
4 swift 0x00000001064c8bb9 swift::NominalTypeDecl::getMembers(bool) const + 41
5 swift 0x00000001055efab9 swift::irgen::ClassMetadataLayout<(anonymous namespace)::FindClassMethodIndex>::addClassMembers(swift::ClassDecl*) + 329
6 swift 0x00000001055e97b2 swift::irgen::emitVirtualMethodValue(swift::irgen::IRGenFunction&, llvm::Value*, swift::SILType, swift::SILDeclRef, swift::CanTypeWrapper<swift::SILFunctionType>, swift::ResilienceExpansion) + 434
7 swift 0x00000001056550d3 swift::SILVisitor<(anonymous namespace)::IRGenSILFunction, void>::visit(swift::ValueBase*) + 42611
8 swift 0x000000010564a266 swift::irgen::IRGenModule::emitSILFunction(swift::SILFunction*) + 8678
9 swift 0x00000001055cb6f8 swift::irgen::IRGenModule::emitGlobalTopLevel() + 184
10 swift 0x00000001056376e3 performIRGeneration(swift::IRGenOptions&, swift::Module*, swift::SILModule*, …Run Code Online (Sandbox Code Playgroud) 我有一个iOS swift程序,可以在Xcode Beta2上编译和运行.当我下载beta4时,我纠正了新的快速语言的一些语法错误.我现在得到这个错误:
<unknown>:0: error: unable to execute command: Segmentation fault: 11
<unknown>:0: error: swift frontend command failed due to signal (use -v to see invocation)
Run Code Online (Sandbox Code Playgroud)
问题是它没有告诉我这个错误在哪里,所以我可以进一步解决它.在哪里可以键入-v以"查看调用"并进一步排除故障?没有这个,绝对没有办法找出问题所在.提前致谢.
在Objective-C中,我经常传递块.我经常使用它们来实现模式,以帮助避免将内容存储到实例变量中,从而避免线程/时序问题.
例如,我将它们分配给一个CAAnimationvia,-[CAAnimation setValue:forKey:]这样我就可以在动画结束时执行该块.(Objective-C中可以把块作为对象,你也可以做[someBlock copy]和[someBlock release].)
但是,尝试在Swift和Objective-C中使用这些模式似乎非常困难.(编辑:我们可以看到语言仍在变化:已经调整了代码,因此它适用于Xcode6-beta2,之前的版本适用于Xcode6-beta1.)
例如,我无法转换AnyObject回块/闭包.以下产生编译器的错误:
override func animationDidStop(anim: CAAnimation!, finished flag: Bool)
{
let completion : AnyObject! = anim.valueForKey("completionClosure")
(completion as (@objc_block ()->Void))()
// Cannot convert the expression's type 'Void' to type '@objc_block () -> Void'
}
Run Code Online (Sandbox Code Playgroud)
我找到了一个解决方法,但它非常难看,恕我直言:在我的桥接标题中,我有:
static inline id blockToObject(void(^block)())
{
return block;
}
static inline void callBlockAsObject(id block)
{
((void(^)())block)();
}
Run Code Online (Sandbox Code Playgroud)
现在我可以在Swift中做到这一点:
func someFunc(completion: (@objc_block ()->Void))
{
let animation = CAKeyframeAnimation(keyPath: "position")
animation.delegate …Run Code Online (Sandbox Code Playgroud) 我有一个xcode项目并在设备上运行,调试构建一切都很好.
但是,当我尝试归档项目时,我从Swift编译器获取段错误:
0 swift 0x0000000105c36608 llvm::sys::PrintStackTrace(__sFILE*) + 40
1 swift 0x0000000105c36af4 SignalHandler(int) + 452
2 libsystem_platform.dylib 0x00007fff852705aa _sigtramp + 26
3 libsystem_platform.dylib 0x0000000000000002 _sigtramp + 2061040242
4 swift 0x0000000105f51896 swift::TypeBase::getTypeOfMember(swift::Module*, swift::ValueDecl const*, swift::LazyResolver*, swift::Type) + 534
5 swift 0x00000001050eee38 swift::SILType::getFieldType(swift::VarDecl*, swift::SILModule&) const + 56
6 swift 0x00000001051a1252 (anonymous namespace)::SILSROA::run() + 3602
7 swift 0x000000010516b116 swift::SILPassManager::runFunctionPasses(llvm::ArrayRef<swift::SILFunctionTransform*>) + 310
8 swift 0x000000010516b6f9 swift::SILPassManager::runOneIteration() + 761
9 swift 0x000000010516b92b swift::SILPassManager::run() + 251
10 swift 0x000000010516afbc swift::runSILOptimizationPasses(swift::SILModule&, swift::SILOptions const&) + 1644
11 swift 0x0000000104ffb141 …Run Code Online (Sandbox Code Playgroud) 我对新的Xcode 8(没有测试版)和swift3有一个奇怪的问题.
一旦每隔3-4次编译我的代码,我就会得到一个'命令因信号分段错误而失败11'错误.我只需要输入新的空行,或者有时更改一些空格,或添加注释(代码中的任何地方),错误消失,我可以再次编译.这真的很奇怪,因为我没有更改代码中的任何内容!有时我可以编译它的工作,然后我不会改变任何东西,我再次编译,我得到错误.这真烦人!
我注意到这种情况正在发生,因为我安装了几个"Firebase"吊舱(Firebase,Firebase/Auth等......).但我需要它们.
有人有什么建议吗?
PS:我已经将我的项目的启用Bitcode设置为No尽可能多的解决方案,但没有.在错误消息中,没有指出任何错误的快速页面,例如:
'func_name'就是这个:
public class func loginUser(fir_user: FIRUser) {
let user = SFUser()
user.email = fir_user.email
user.isLogged = true
try! sfRealm.write() {
sfRealm.add(user, update:true)
}
var userToAdd = [String:AnyObject]()
userToAdd["email"] = fir_user.email! as NSString
let ref=FIRDatabase.database().reference()
let usersRef = ref.child(childName)
usersRef.setValue([key:value])
}
Run Code Online (Sandbox Code Playgroud)
但是,正如我所说,我可以在另一个文件中输入一个空行并编译!
谢谢
我将我的Xcode更新为Xcode 8并接受了所有更新但我收到错误告诉我 "Command failed due to signal: Segmentation fault: 11"
请注意,我知道这个问题非常接近这个问题:
Xcode 7编译错误:"由于信号命令失败:分段错误:11"
另请注意我使用的是解析服务器,我怀疑它与它有什么关系,但我想我会提到它以防万一.
但它还没有解决我的问题,有没有人有这个问题/解决了吗?
谢谢 !