【问题标题】:Tracking down the version number in OSX/xcode在 OSX/xcode 中跟踪版本号
【发布时间】:2010-12-27 19:08:09
【问题描述】:

我有一个 C/C++ 程序,它是一个 Firefox 插件。我正在尝试查找版本号资源。

在我的 plist 中,我有:捆绑版本字符串,短设置为 5.09b,捆绑版本为 1.0

在我的 .rsrc 文件中(是​​的,我仍在使用 rsrc 文件,这不是我的错。)我的 vers 资源有一个短字符串 4.70

当我编译时,.app 文件上的版本是 5.09b

当我运行程序时,我会这样做:

CFBundleRef myAppsBundle = CFBundleGetMainBundle();
bundleVersion = (CFStringRef) CFBundleGetValueForInfoDictionaryKey(myAppsBundle, CFSTR("CFBundleShortVersionString"));

CFStringGetCString(bundleVersion, verString, sizeof(verString), kCFStringEncodingMacRoman);
printf("bundleversion is %s\n", verString);

它给了我 3.5.6。以前,它给了我 3.5.5。

我已经通过我的代码进行了大量搜索,但在任何地方都找不到“3.5.5”。上面的代码在其他项目中也可以使用。

【问题讨论】:

    标签: xcode dictionary version plist bundle


    【解决方案1】:

    3.5.6 和 3.5.5 恰好是最新的两个 Firefox 版本。也许因为您正在构建一个插件,您正在使用该 sn-p 选择 Firefox 版本,而不是您期望的插件版本?如果是这种情况,无论您如何在捆绑包中捏造版本号,它都不会按照您的意愿行事......

    【讨论】:

    • 是的。您的插件很可能不是主包。
    • 哦。我的。是的。那……这解释了一切!我想知道我是否可以访问我的 plist...hrm...嗯,这是另一个问题。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-09-25
    • 2015-06-07
    • 2013-05-25
    • 1970-01-01
    • 2013-05-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多