【发布时间】:2014-09-02 18:21:20
【问题描述】:
正如我在标题中所说,我正在为 iPhone 编写一个应用程序,它可以在调试模式下完美运行,但是当我将它构建为发行版并通过 TestFlight 安装它时,它会崩溃。 由于崩溃日志,它可能必须对这些行做一些事情:
let path = NSBundle.mainBundle().pathForResource("PrinterList", ofType: "plist")
if path != nil {
let printerDic = NSDictionary(contentsOfFile: path!)
let printerList = NSArray(array: printerDic.allKeys)
printerNames = printerList as [String]
}
我正在使用 Brother 的框架在没有 AirPrint 的情况下进行打印,但我认为这不是问题,因为应用程序在使用框架执行某些操作之前会崩溃。 它只在我执行这些行的 ViewController 中崩溃。我也只需要这个 ViewController 中的框架。
【问题讨论】:
-
如果你关闭了发布版本的 Swift 编译器优化,然后再试一次,你还会遇到崩溃吗? (在构建设置中,在 Swift 编译器/代码生成下)
-
如果我这样做,我将无法通过 TestFlight 安装它:'无效的配置文件:分发构建权利必须将 get-task-allow 设置为 false。'但我尝试使用 iTunes.. 编辑:不适用于 iTunes 和 Xcode 安装..
-
是的!有效!非常感谢。请写下您的评论作为答案,以便我将其标记为正确答案
-
好吧,请记住,这可能不是真正的答案——可能是 Swift 优化中存在某种错误,这在测试版中不太可能发生,但也有机会优化的构建在您的代码中显示了一个在非优化版本中不那么明显的错误。这可以在任何语言中发生...您是否尝试过使用 Xcode 6 beta 7 的优化版本?那是刚刚发布的;这可能值得一试......
-
我的应用程序崩溃了,这似乎是一个可能的 NSArray 问题,就像您的代码所暗示的那样。该应用程序将运行良好,然后在更改数组(在启动时加载)后应用程序将崩溃......在调试中重建将打开相同的保存数组。感谢您提出问题并修复!
标签: ios objective-c swift crash-reports testflight