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

UIStoryboard'init(name:bundle)'不可用:使用对象
施工'UIStoryboard(name:bundle)''init(name:bundle)'已被
在此处明确标记为不可用。

我确定几天后,同一代码在RELEASE配置中运行良好(没有任何错误)。

这是引发错误的行:

让Storyboard = UIStoryboard(名称:“Main”,捆绑包:Bundle.main)

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

谢谢。

最佳答案

似乎有些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)

谢谢。

关于ios - 释放配置中的UIStoryboard'init(name:bundle)'问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45684818/

10-13 07:19