簡體   English   中英

儀表板小部件:從Info.plist獲取版本號

[英]Dashboard widget: getting version number from Info.plist

我正在用Dashcode編寫一個Dashboard小部件,在背面,我有一個積分字符串。 我想在該字符串中包含小部件的版本號,但如果可能的話,我想以編程方式從Info.plist中的CFBundleVersionCFBundleShortVersionString鍵中獲取它,以避免在更新小部件時必須在多個位置更改編號。

到目前為止,在Apple 開發人員文檔 ,Google和各種論壇上的搜索都被證明是徒勞的。 我想知道的是,Apple是否提供了一種內置的方法來執行此操作,但忘了提及(例如var version = widget.version();或其他內容),或者我的腳本是否必須插入並在提取我真正想要的一個值之前,分析整個plist。

感謝您的任何幫助,您可以提供!

我似乎已經找到了答案:使用Dashcode的“數據源”功能將Info.plist讀取為XML數據源。 從那里開始, 這篇博客文章向我展示了如何遍歷plist的結構並獲取正確的字符串(在這種情況下,該文件中的第五個<string>元素對應於CFBundleShortVersionString

我最終得到的功能是:

function getWidgetVersion() {
    var dataSource = dashcode.getDataSource("infoPlist");
    var version = dataSource.selection().valueForKey("dict").valueForKey("string")[4]; // This line and the previous could probably be combined for the sake of brevity
    if (typeof(version) == 'string') {
        document.getElementById("creditsLabel").innerHTML += version; //I'll change this to just pass the number on
    }
}

由於creditsLabel div的文本已經以本地化字符串開始,因此我得到了一個很好的小標簽,表示“ 1.0版”。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM