2015-09-28 63 views
0
let version:String = NSBundle.mainBundle().objectForInfoDictionaryKey(kCFBundleVersionKey) as? String ?? "unknown" 

我發現了一個錯誤:「(字符串?StringLiteralConvertible)」是無法轉換爲「StringLiteralConvertible」如何轉換爲字符串 - 從更新的雨燕1.1至1.2雨燕

+0

更新到Swift 1.2?目前發佈的版本是Swift 2.0! –

+0

是的,我知道。我從快速1.1 - > 1.2 ...然後1.2 - > 2.0。 – nwales

回答

1

的Xcode 7有問題的更好的錯誤消息:

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

,使 「修復」 sugge Stion的插入as String

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

而這個編譯都與夫特1.2(6.4的Xcode)和當前 夫特2.0(Xcode的7)。

0

如何:

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