Swift 1.2 BAD_EXEC_ACCESS 启动时
Swift 1.2 BAD_EXEC_ACCESS on startup
我在 Swift/SpriteKit/MacOS 中有一个简单的应用程序,我用它来学习 Swift。它主要处理文本文件 - 我很高兴地说,Swift 非常擅长。
我下载了 1.2 和 运行 转换器,它建议更改一行代码:
NSApplicationMain(C_ARGC, C_ARGV)
必须变成:
NSApplicationMain(Process.argc, Process.unsafeArgv)
现在,当我 运行 应用程序崩溃时,该行出现 BAD_EXEC_ACCESS。堆栈似乎没有显示任何有趣的东西;它似乎很早就崩溃了。
我在行上放置了一个断点并 PO 了输入:
["/Development/PAIS/DerivedData/PAIS/Build/Products/Debug/PAIS.app/Contents/MacOS/PAIS", "-NSDocumentRevisionsDebugMode", "YES"]
看起来没什么异常。
我发现 Xcode 时不时会因为缓存的数据而发出嘶嘶声。尝试关闭 Xcode,删除 "DerivedData" 文件夹并重新打开 Xcode。然后它将重新索引所有内容,希望这可以解决您的问题。
好的,我希望这能为其他人节省一些时间。问题是 fullName.componentsSeparatedByString
,它有一个错误,它会在 Obj-C 端释放字符串并导致在下一个 GC 循环中重复释放。使用 split(striped!, { [=11=] == " "}, maxSplit: Int.max, allowEmptySlices: false)
代替,尽管这显然要慢得多。
我在 Swift/SpriteKit/MacOS 中有一个简单的应用程序,我用它来学习 Swift。它主要处理文本文件 - 我很高兴地说,Swift 非常擅长。
我下载了 1.2 和 运行 转换器,它建议更改一行代码:
NSApplicationMain(C_ARGC, C_ARGV)
必须变成:
NSApplicationMain(Process.argc, Process.unsafeArgv)
现在,当我 运行 应用程序崩溃时,该行出现 BAD_EXEC_ACCESS。堆栈似乎没有显示任何有趣的东西;它似乎很早就崩溃了。
我在行上放置了一个断点并 PO 了输入:
["/Development/PAIS/DerivedData/PAIS/Build/Products/Debug/PAIS.app/Contents/MacOS/PAIS", "-NSDocumentRevisionsDebugMode", "YES"]
看起来没什么异常。
我发现 Xcode 时不时会因为缓存的数据而发出嘶嘶声。尝试关闭 Xcode,删除 "DerivedData" 文件夹并重新打开 Xcode。然后它将重新索引所有内容,希望这可以解决您的问题。
好的,我希望这能为其他人节省一些时间。问题是 fullName.componentsSeparatedByString
,它有一个错误,它会在 Obj-C 端释放字符串并导致在下一个 GC 循环中重复释放。使用 split(striped!, { [=11=] == " "}, maxSplit: Int.max, allowEmptySlices: false)
代替,尽管这显然要慢得多。