仪表板小部件:从 Info.plist 获取版本号
Dashboard widget: getting version number from Info.plist
我正在用Dashcode编写一个仪表板小部件,在背面,我有一个用于积分的字符串。我想在该字符串中包含小部件的版本号,但如果可能的话,我想以编程方式从 Info.plist 中的CFBundleVersion
或CFBundleShortVersionString
键中获取它,以避免在更新小部件时不得不在多个位置更改数字。
到目前为止,对苹果开发者文档、谷歌和各种论坛的搜索都被证明是徒劳的。我想知道的是,是否有一种内置的方法可以做到这一点,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"。
相关文章:
- 使用 jQuery 的 .on 函数如何获取事件的原始元素
- jquery试图按名称获取按钮位置
- 如何在jQuery中获取元素的形式
- 如何在php文件中获取$.post-ajax传递的值
- 在Shopify中获取博客文章的图片
- 使用Javascript获取所选选项ID
- 在jQuery中获取表的行索引
- 使用jquery将mysql数据获取到新的表行中
- 在动态创建的元素上获取对特定选择器的引用
- 从城市名称获取惊喜
- Angular只从数组中获取所需的数据
- 无法将数据从firebase获取到我的html页面
- 从ajax请求中获取javascript对象
- 如何从画布上的某个移动事件中获取X和Y
- 是否有一个JS/jQuery函数可以获取某个类的每个元素的ID
- 如何在PHP中使用$_POST获取Select元素值
- 获取@ResponseBody的一部分作为主干和Spring MVC控制器之间的参数
- 从Rally获取一个特定的标记,以便计算另一个字段中的值
- Twitter Bootstrap typeahead:使用“this”获取上下文/调用元素
- 仪表板小部件:从 Info.plist 获取版本号