启动时Swift 1.2 BAD_EXEC_ACCESS

时间:2015-02-10 12:42:37

标签: macos swift

我在Swift / SpriteKit / MacOS中有一个简单的应用程序,我用来学习Swift。它主要处理文本文件 - 我很高兴地说,Swift很擅长。

我下载了1.2并运行了转换器,它建议改变一行代码:

NSApplicationMain(C_ARGC, C_ARGV)

必须成为:

NSApplicationMain(Process.argc, Process.unsafeArgv)

现在,当我运行应用程序时,它会在该行上以BAD_EXEC_ACCESS崩溃。堆栈似乎没有显示任何有趣的东西;它看起来很早就崩溃了。

我在线上设置断点并输入输入:

["/Development/PAIS/DerivedData/PAIS/Build/Products/Debug/PAIS.app/Contents/MacOS/PAIS", "-NSDocumentRevisionsDebugMode", "YES"]

似乎没有任何异常。

2 个答案:

答案 0 :(得分:0)

我发现Xcode偶尔因为数据缓存而倾向于混淆。尝试关闭Xcode,删除" DerivedData"文件夹并再次重新打开Xcode。然后它会重新索引所有内容,希望这会对您的问题进行排序。

答案 1 :(得分:0)

好的,我希望这能节省一些时间。问题是fullName.componentsSeparatedByString,其中有一个错误,它在Obj-C端释放字符串并在下一个GC循环中导致双重释放。请改用split(striped!, { $0 == " "}, maxSplit: Int.max, allowEmptySlices: false),尽管显然要慢得多。