【问题标题】:Xcode Project Format: what are the differences between 3.1, 3.2, 6.3 and 8.0?Xcode 项目格式:3.1、3.2、6.3 和 8.0 有什么区别?
【发布时间】:2015-10-05 22:42:49
【问题描述】:

当我在 Xcode 9(或以前的版本)中打开一个项目并检查文件检查器时,有一个名为 Project Document 的部分,带有一个名为 Project Format 的组合框.
可用选项(在 Xcode 9 中)为 Xcode 3.1-compatibleXcode 3.2-compatibleXcode 6.3-compatibleXcode 8.0-compatible

这些格式有什么区别?

-- 更新历史记录(截至 2019 年 5 月 20 日)--

我最初在 Xcode 6.4 出现时提出了这个问题。
Xcode 6.4 的列表包括 Xcode 3.1-compatibleXcode 3.2-compatibleXcode 6.3-compatible,以及默认为 Xcode 3.2-compatible
Xcode 7 没有引入任何更改。
Xcode 8 添加了 Xcode 8.0-compatible 项。
Xcode 9 将新项目的默认设置更改为 Xcode 8.0-compatible。 (2017 年 10 月 8 日)
Xcode 10.2 添加了 Xcode 9.3-compatibleXcode 10.0-compatible(2019 年 5 月)

【问题讨论】:

标签: ios objective-c xcode macos swift


【解决方案1】:

在这种格式更改中似乎没有任何重大的突破性更改(我尝试了我的几个项目,xml 结构本身没有任何变化,除了版本参数..)。

据我所知,在此之前几乎没有项目格式,其中一些实际上发生了重大变化,但这可能不会再次发生,因为那是在 iOS 发生重大结构变化的时候,比如从 iOS2到 iOS3。

另外,请注意,新项目的默认值仍然是 3.2,因此很可能 6.3 基本上是用于测试的,他们稍后将强制使用的版本将是 -7。

我最好的猜测是 Swift 2 的新格式以及其中处理模块/依赖项的方式,因为它肯定需要在项目中存在一些额外的数据。但要 100% 确定我们需要 Apple 团队成员的信息。

希望对你有帮助!

【讨论】:

  • 是的,就像我在问题中所说的那样,我注意到默认值仍然是 3.2,这就是我对格式感到好奇的原因 :) 所以看起来没有重大变化,尽管可能正在发生一些事情在幕后。
  • 快速更新:Xcode 7 和 Swift 2 已经正式发布,但项目格式没有任何变化。我们可能不得不等待 Xcode 8... 或者这个问题根本没有答案!
  • 我没有看到(除了 objectVersion = 48,不管那个值是什么意思)
  • 两年后,仍然没有任何改变。有什么新的猜测,也许有参考?
  • 我自己用 Xcode 10 重新审视了这一点。除了增加 objectVersion 和更新 compatibilityVersion 之外,似乎做了一个小改动,LD_RUNPATH_SEARCH_PATHS 不再存储为空格分隔的列表,但是作为逗号分隔的集合。不过,非常小。
猜你喜欢
  • 2011-05-07
  • 2021-12-03
  • 2011-08-18
  • 1970-01-01
  • 2015-12-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多