如何在应用程序中测试捆绑版本字符串(ASObjC)

时间:2014-03-16 13:18:23

标签: applescript

我正在尝试在我的ASObjC应用中实现“检查软件更新”功能。

我或多或少都在那里,除了我不太确定如何从我的应用程序脚本中查询我的info.plist中的当前版本号。

假设我在html文件中有最新版本号,我使用curl调用。我显示一个对话框,提示用户更新版本号curl返回是否高于调用脚本的版本号。

如何将捆绑包当前版本号放入脚本中的属性中以测试curl返回的内容?

我发现了常量“CFBundleShortVersionString”,但我试图使用它已被挫败。

这不起作用,例如:

将myVersionNum设置为当前应用程序的CFBundleShortVersionString

我试图强迫字符串和文字无效。

编辑:看起来如下作品:

将myVersionNum设置为当前应用程序的版本

1 个答案:

答案 0 :(得分:0)

NSBundle类确实有一个方法objectForInfoDictionaryKey:,它是获取bundle的info.plist文件的给定键值的方法。因此,当我们使用应用程序的主包(本身)时,我们可以使用以下方法轻松获取值:

set appBundle to current application's class "NSBundle"'s mainBundle()
set shortVersionString to appBundle's objectForInfoDictionaryKey:"CFBundleShortVersionString"

注意:我使用新的Mavericks(AppleScript 2.3)AppleScriptObjC语法。