xcode - Info.plist 文件丢失/无法从我的 Cocoa 项目中设置和检索 CFBundleVersion

标签 xcode cocoa

我使用命令行工具模板创建了一个新的 cocoa 项目。我需要能够从 bundle 中设置/检索版本,但是当我执行 po [[NSBundle mainBundle] infoDictionary]:

时,我的 mainBundle 中的 infoDictionary 仅显示三个基本项目
{ 
    CFBundleExecutablePath = "...";
    NSBundleInitialPath = "...";
    NSBundleResolvePath = "...";
}

我确实有一个 Common-Info.plist 文件,但更改此处的值似乎不会影响任何内容。我还尝试将 Info.plist 添加到我的项目中,但它被忽略了。

我需要做一些特殊的事情才能使用正确的文件来获取它吗?

这是 Xcode 3.2.6

编辑修复

关键是将其添加到目标/获取信息中的“其他链接器标志”选项中:

-sectcreate __TEXT __info_plist Info.plist

最佳答案

您可以将 Info.plist 文件嵌入到二进制文件的特殊部分中。 Daniel Jalkut 的博客提供了一些相关的有用信息。在此处查看“嵌入 Info.plist”部分:http://www.red-sweater.com/blog/2083/the-power-of-plist

关于xcode - Info.plist 文件丢失/无法从我的 Cocoa 项目中设置和检索 CFBundleVersion,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7676491/

相关文章:

ios - 如何在 Swift 4 中使用启动屏幕或图像来阻止 secret 信息?

ios - 如何设置@IBAction 来定位 UIView 子类

swift - 从 MacOS App Swift 启动 sudo 命令

cocoa - 不要使用 Yosemite 的新透明度

objective-c - 为什么 NSWindow 或 NSView 实例处理它自己的键事件,而不是它的委托(delegate)?

objective-c - 从 IOUSBInterface 管道中找出数据

ios - 如何在我的 SwiftUI 应用程序中初始化我的 ViewModel

ios - Xcode 4.5 : How do I fix my text views so they display properly in portrait and landscape mode on an iPad?

macos - 核心音频 : how to get/set the system alert volume as opposed to device volume

Objective-C - Cocoa 类簇的有效子类化