【问题标题】:Can Settings bundle use values from application's Info.plist file?设置可以捆绑使用应用程序的 Info.plist 文件中的值吗?
【发布时间】:2011-01-17 02:51:16
【问题描述】:

是否可以将应用程序的 Info.plist 文件中的值用作 Settings.bundle 中的项目的 DefaultValue 值?例如CFBundleVersion。我尝试将其输入为${CFBundleVersion},但没有成功。我也尝试过更改 DefaultValue 类型但没有成功。有什么想法吗?

背后的原因很简单:

  • CFBundleVersion 在编译时已知 时间,所以我不必接受它 来自应用程序mainBundle 的值 然后将该值应用于 NSUserDefaults
  • 其他原因是 安装应用程序,但在此之前 运行它,设置捆绑值 与代码设置不同步 NSUserDefaults 没有 执行自己的机会......所以它会是 无聊到永远记得我有 更改我的设置捆绑包值 手动。

【问题讨论】:

    标签: iphone xcode


    【解决方案1】:

    这就是我同步我的应用程序版本以在我的 Settings.bundle 中使用的方式

    [defaults setObject:[[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleVersion"] forKey:@"kVersion"];
    [defaults synchronize];
    

    我将这段代码放在我的didFinishLaunchingWithOptions: 应用程序委托中,因此每次启动应用程序时,它都会确保在我的 Settings.bundle 中显示正确的版本。这会从您的 info.plist 中获取应用版本值

    【讨论】:

    • @WrightCS:谢谢,但这不是我一直在寻找的答案 :( 我的目标是直接在 Settings.bundle 的 Root.plist 中使用 CFBundleVersion。有点奇怪,我知道,但需要它。
    猜你喜欢
    • 2018-12-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-27
    • 1970-01-01
    • 2015-11-10
    • 1970-01-01
    • 2010-12-19
    相关资源
    最近更新 更多