在我的應用程序中,我使用agvtool
來更新內部版本號。我現在想讓設置中顯示的應用版本顯示此號碼並自動更新。是否有可能在iPhone應用程序的設置中讀取「當前項目版本」
我已經看到一些應用程序通過編寫腳本來準備好值並填充值,然後在root.plist
中解決。我想知道是否有更好的方法來做到這一點。
在我的應用程序中,我使用agvtool
來更新內部版本號。我現在想讓設置中顯示的應用版本顯示此號碼並自動更新。是否有可能在iPhone應用程序的設置中讀取「當前項目版本」
我已經看到一些應用程序通過編寫腳本來準備好值並填充值,然後在root.plist
中解決。我想知道是否有更好的方法來做到這一點。
它看起來像的唯一方法是創建一個腳本來提取的數量和更新的plist文件。下面的網站給出什麼樣的腳本需要包含
http://davedelong.tumblr.com/post/110448898058/incrementing-build-numbers-in-xcode
我不知道你的agvtool但我得到我的應用程序版本從代碼的方式是:
[[NSBundle mainBundle] objectForInfoDictionaryKey:@"CFBundleVersion"];
這得到來自info.plist中,你必須在上傳之前定義的版本號你的應用到iTunesConnect,所以這應該是好的:你依賴一個你必須定義的值。
agvtool一個很好的說明是蘋果通用版本的工具。您可以從代碼中檢索它,但是我的問題是我希望它出現在應用程序的設置中,並且設置是從屬性列表(root.plist)加載的。 我可以,當我運行應用程序時,通過閱讀設置來填充設置,然後將其寫入設置,但它不會解決有人首先打開設置的問題 – Liam 2010-03-04 15:01:04
您正在尋找this。它包含有關如何設置和管理您的營銷版本和內部版本號信息的信息。然後,當你需要構建字符串,做一個類似於以下內容:
NSString *marketingVersion = [[NSBundle mainBundle] objectForInfoDictionaryKey:@"CFBundleShortVersionString"];
NSString *buildNumber = [[NSBundle mainBundle] objectForInfoDictionaryKey:@"CFBundleVersion"];
self.appVersionLabel.text = [NSString stringWithFormat:@"%@.%@", marketingVersion, buildNumber];
嗨,肯,感謝您的回覆,但我是什麼尋找是在我的應用程序的設置中引用版本的一種方式。正如我上面指出的那樣,我可以在應用程序啓動時讀取版本,然後填充設置,但如果人員首先打開設置,則這不起作用。我認爲唯一的辦法是有一個腳本來複制價值跨越 – Liam 2010-06-09 09:18:00
+1嗯,鏈接看起來很熟悉... – 2010-08-13 16:29:15
@DaveDeLong鏈接已經死了! – griotspeak 2015-02-08 16:45:39
@griotspeak我剛更新了它 – 2015-02-08 16:50:25