如何转换为字符串 - 从 Swift 1.1 更新到 Swift 1.2

How to cast to String - updating from from Swift 1.1 to Swift 1.2

let version:String = NSBundle.mainBundle().objectForInfoDictionaryKey(kCFBundleVersionKey) as? String ?? "unknown"

我收到一条错误消息:“(String?, StringLiteralConvertible)”无法转换为 'StringLiteralConvertible'

这个怎么样:

var version = "unknown"
if let key = NSBundle.mainBundle().objectForInfoDictionaryKey(kCFBundleVersionKey) as String {
    version = key
}

Xcode 7 有更好的问题错误信息:

error: 'CFString!' is not implicitly convertible to 'String'; did you mean to use 'as' to explicitly convert?

并提出 "Fix-it" 建议插入 as String:

let version = NSBundle.mainBundle()
    .objectForInfoDictionaryKey(kCFBundleVersionKey as String)
    as? String ?? "unknown"

并且这会使用 Swift 1.2 (Xcode 6.4) 和当前版本进行编译 Swift 2.0 (Xcode 7).