CFBundleShortVersionString,在模拟器上运行库单元测试时缺少CFBundleVersion

时间:2019-04-25 11:07:09

标签: swift xcode

我创建了一个带有一些单元测试的快速库。在我的Info.plist文件

我可以看到

  • Bundle version string, short = 1.0.0
  • Bundle version = 123

在我的代码上,我想通过

获得此信息。
... Bundle.main.infoDictionary?["CFBundleShortVersionString"] as? String
... Bundle.main.infoDictionary?["CFBundleVersion"] as? String

现在执行单元测试(我只能在库的模拟器上执行此操作),得到以下信息:

  • Bundle version string, short = nil(不包括在内)
  • Bundle version = 14490.71

但是我希望得到1.0123

1 个答案:

答案 0 :(得分:0)

CFBundleShortVersionStringCFBundleVersion都有特定要求。

CFBundleShortVersionString

此密钥是捆绑软件版本的用户可见字符串。 必需的格式是三个以句点分隔的整数,例如10.14.1 。 该字符串只能包含数字字符(0-9)和句点。

  

每个整数以以下格式提供有关发布的信息    [主要]。[次要]。[补丁]
  • 主要:主要版本号。
  •次要:次要修订号。
  •补丁程序:维护版本号。

  此键在整个系统中用于识别版本。   捆绑包。


CFBundleVersion

此密钥是机器可读的字符串,由一到三个句点分隔的整数组成,例如10.14.1。该字符串只能包含数字字符(0-9)和期间。

  

每个整数都提供有关包版本的信息   格式 [主要]。[次要]。[补丁]
  •主要:主要版本号。
  •次要:次要修订号。
  •补丁程序:维护版本号。

   您可以包含更多整数,但系统会忽略它们。

     

您还可以仅使用一个或两个整数来缩写版本,   格式中缺失的整数将解释为零。对于   例如,0指定0.0.0,10指定10.0.0,10.5指定   10.5.0。

     

此键是App Store所必需的,并且在整个   系统来识别您应用的已发布或未发布版本。对于macOS   应用程式,请先增加版本号,再分发   构建。

因此,总结起来,您并没有遵循这些属性列表键所必需的规范。