RELEASE config

时间:2017-08-15 00:12:48

标签: ios swift3 xcode8

尝试在RELEASE配置中构建应用时,我发现以下错误。当我在DEBUG模式下构建相同的应用程序时,似乎一切正常。

  

UIStoryboard'init(name:bundle)'不可用:使用对象   构造'UIStoryboard(名称:包)''init(名称:包)'已经   明确标记为不可用。

我确信在RELEASE配置中,相同的代码在几天前运行正常(没有任何错误)。

这是投掷错误的行:

  

让storyboard = UIStoryboard(名称:“Main”,bundle:Bundle.main)

我正在Xcode版本 8.3.3(8E3004b)中编译它。

谢谢。

1 个答案:

答案 0 :(得分:1)

似乎有些Xcode或Swift编译器错误。 项目中有另一个错误(仅在RELEASE配置中)

filteredFavoriteList = searchText.isEmpty ? [] : favoriteList.filter({(report: AnyObject) -> Bool in
    return report.reportTitle.localizedCaseInsensitiveContains(searchText)
})

由于AnyObject类型的“报告”没有任何属性“reportTitle”,这段代码在relese配置中抛出错误(虽然它在调试配置中工作)。

我对此进行了如下修正:

filteredFavoriteList = searchText.isEmpty ? [] : favoriteList.filter({(report: AnyObject) -> Bool in
    if let report = report as? MyClass{
        return report.reportTitle.localizedCaseInsensitiveContains(searchText)
    }else{
        return false
    }
})

现在没有更多UIStoryboard错误,我可以在发布配置中构建应用程序。

所以这一行没有错误,但由于其他一些原因/错误,它在这里抛出了错误。奇怪但是没错。

let storyboard = UIStoryboard(name: "Main", bundle: Bundle.main)

谢谢。