iphone - update - 手機safari版本查看




我的iPhone應用程序如何檢測自己的版本號? (10)

我在寫一個iPhone應用程序。 它已經發布,但是我想添加一個顯示其版本號的功能。

我寧願不必手動執行此操作與我釋放的每個版本...

Objective-C中有一種方法可以找出我的應用程序的版本是什麼?


Swift版本分別為:

斯威夫特3

let versionNumber = Bundle.main.object(forInfoDictionaryKey: "CFBundleShortVersionString") as! String
let buildNumber = Bundle.main.object(forInfoDictionaryKey: "CFBundleVersion") as! String

斯威夫特2

let versionNumber = NSBundle.mainBundle().objectForInfoDictionaryKey("CFBundleShortVersionString") as! String
let buildNumber = NSBundle.mainBundle().objectForInfoDictionaryKey("CFBundleVersion") as! String

它包括在這個回購,檢查出來:

https://github.com/goktugyil/EZSwiftExtensions


正如我在這裡所描述的 ,我使用腳本來用我當前的Subversion修訂版本號重寫一個頭文件。 該版本號存儲在kRevisionNumber常量中。 然後,我可以使用類似於以下內容的方式訪問版本號和修訂版號:

[NSString stringWithFormat:@"Version %@ (%@)", [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleVersion"], kRevisionNumber]

這將創建一個格式為“版本1.0(51)”的字符串。


你可以嘗試使用字典: -

NSDictionary *infoDictionary = [[NSBundle mainBundle]infoDictionary];

NSString *buildVersion = infoDictionary[(NSString*)kCFBundleVersionKey];
NSString *bundleName = infoDictionary[(NSString *)kCFBundleNameKey]

你可以試試這個方法:

NSString *version = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleShortVersionString"];

如果你需要版本號編譯號組合 ,下面是使用Swift 3的簡短方法:

let appVersion = Bundle.main.infoDictionary!["CFBundleShortVersionString"]!
let buildNum = Bundle.main.infoDictionary!["CFBundleVersion"]!
let versionInfo = "\(appVersion) (build \(buildNum))"
// versionInfo is now something like "2.3.0 (build 17)"

添加一個as! String as! StringappVersionbuildNum行的末尾以僅將該部分作為String對象獲取。 沒有必要,但如果你正在尋找完整的versionInfo

我希望這有幫助!


您可以使用infoDictionary從info.plist中獲取您應用的版本詳情。 此代碼適用於swift 3.只需調用此方法並在任何首選的UI元素中顯示版本。

Swift-3  

func getVersion() -> String {
    let dictionary = Bundle.main.infoDictionary!
    let version = dictionary["CFBundleShortVersionString"] as! String
    let build = dictionary["CFBundleVersion"] as! String
    return "v\(version).\(build)"
}

有兩件事 - 構建版本和應用程序版本。

  1. 獲取應用版本:

    NSString *appVersion = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleShortVersionString"];
    
  2. 獲取Build版本:

    NSString *buildVersion = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleVersion"];
    

這是修改控制系統處理的好事情。 通過這種方式,當您從用戶那裡獲得錯誤報告時,您可以查看該代碼的修訂版,並(希望)重現與用戶運行完全相同的代碼的錯誤。

這個想法是,每次構建時,都會運行一個腳本來獲取代碼的當前修訂版本號並更新項目中的文件(通常使用某種形式的令牌替換)。 然後,您可以在錯誤輸出中編寫一個始終包含修訂號的錯誤處理例程,也可以將其顯示在“關於”頁面上。


閱讀應用程序的info.plist文件並獲取關鍵值CFBundleShortVersionString。 讀info.plist會給你一個NSDictionary對象


// Syncs with App Store and Xcode Project Settings Input
NSString *appVersion = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleShortVersionString"];




version