Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone plist buildDate和buildNumber的属性名称?_Iphone_Objective C_Xcode_Cocoa Touch - Fatal编程技术网

Iphone plist buildDate和buildNumber的属性名称?

Iphone plist buildDate和buildNumber的属性名称?,iphone,objective-c,xcode,cocoa-touch,Iphone,Objective C,Xcode,Cocoa Touch,我刚刚四处寻找一种方法,将buildDate和buildNumber添加到我的项目中(我找到了),但我有点困惑,大多数人建议将属性添加到名为CFBuildDate和CFBuildNumber的info.plist中 编辑: 这些属性是否以CF开头,因为: 它们属于核心基础,这就是惯例? 它们不是CF的一部分,但约定无论如何都要使用CF 它们可以被称为任何东西,CF只是让它们与另一个相匹配 CF键 没关系,随你怎么称呼他们 核心基础框架为捆绑包提供底层基础结构,包括在运行时用来加载包并解析其结构的

我刚刚四处寻找一种方法,将buildDate和buildNumber添加到我的项目中(我找到了),但我有点困惑,大多数人建议将属性添加到名为
CFBuildDate
CFBuildNumber
info.plist

编辑: 这些属性是否以CF开头,因为:

它们属于核心基础,这就是惯例?
  • 它们不是CF的一部分,但约定无论如何都要使用CF
  • 它们可以被称为任何东西,CF只是让它们与另一个相匹配 CF键
  • 没关系,随你怎么称呼他们

  • 核心基础框架为捆绑包提供底层基础结构,包括在运行时用来加载包并解析其结构的代码。因此,此框架识别的许多键对于bundle本身的定义至关重要,并且有助于确定bundle的内容

    核心基础键使用前缀CF来区分它们与其他键。


    有关更多详细信息

    当我问自己这个问题时,我得到了关于使用
    CFBuildNumber
    CFBuildDate
    的原始信息,并提供了一些巧妙的脚本想法来生成它们

    在彻底搜索之后,我找不到任何关于在任何iOS项目或最近的OSX项目中使用
    CFBuildNUmber
    /
    CFBuildDate
    的苹果官方文档。也没有提到他们,所以我的结论是他们不是官方的,只是使用CF作为前缀类似于现有的核心基础键。 对于你的问题,我认为#2、#3和#4(正如你所怀疑的)是这样的,因为苹果没有任何关于这两个键的官方文档

    • 它们不是CF的一部分;惯例是无论如何都要使用CF
    • 它们可以被称为任何东西;CF只是使它们与其他CF键匹配
    • 他们的名字不重要,你可以随意称呼他们
    我不能谈论OSX开发,但从iOS方面来看,为这些目的提供的两个键是
    CbundleShortVersionString
    CbundLeverVersion
    。前者是短App Store可见版本,后者是扩展版本,需要时添加数字


    我使用CI服务器生成的内部版本号,并在编译时将其附加到
    CFBundleVersion
    键的末尾。如果你想添加日期,你可以把它添加到同一个键。

    所以CFuBuffDeDo和CFuBugDigo与核心基金没有任何关系,他们的想法是看它们是在信息中。核心基础是一个框架,它提供对应用服务、应用环境有用的基本软件服务。核心基础还提供了对常用数据类型的抽象,有利于Unicode字符串存储的国际化,并提供了一套实用工具,如插件支持、XML属性列表、URL资源访问和首选项。这些密钥与核心基础是相互关联的……没有核心基础,我们无法想到实现这些密钥被使用的功能。当然,我理解这一点,但我所理解的是CFuBudDeDo(和CFBug Digd)。就我所知,没有被列为CF键,即使它们被命名为CF键。OP没有表明它们正在与CoreFoundation的实际情况或功能进行斗争。为什么要将它们包括在项目中?你想知道你在应用程序中运行的版本是什么吗?这是因为另一个原因吗?只是为了我可以标记我们iPhone上的应用程序,以识别版本和构建日期。对于发行版,我通常手动更新,但在开发过程中,为了简单起见,我希望每次编译时都能将其烧录到应用程序中。稍微偏离主题,我通常会运行一个构建后脚本,每次重新编译时自动增加buildNumber。buildDate我通常使用executable.app上次修改的日期(即:info.plist中没有buildDate)。非常感谢您花时间和精力帮助澄清我的问题,非常感谢。@fuzzygoat没有问题,几个月前我也有同样的问题。