Xcode Project Format: what are the differences between 3.1, 3.2, 6.3 and 8.0?
There does not seem to be any major breaking change in this format change (I tried few of my project, nothing changed in the xml structure itself except the version parameter..).
As far as I remember, there were few project formats before that, some of which actually had major changes, but that is probably not going to happen again because that was in the times of major structural changes to iOS, like from iOS2 to iOS3.
Also, just side note, the default for new projects is still 3.2 so it is very likely that 6.3 is basically for testing and version that they will force later will be -7.
My best guess would be that the new format is there for Swift 2 and the way how modules / dependencies are handled in there, as it for sure requires some additional data to be present in the project. But to be 100% sure we would need information from somebody on the Apple Team.
Hope it helps!
Comments
-
Para almost 2 years
When I open a project in Xcode 9 (or previous versions) and check the File Inspector, there's a section called Project Document, with a combo box named Project Format.
The available options (in Xcode 9) areXcode 3.1-compatible
,Xcode 3.2-compatible
,Xcode 6.3-compatible
, andXcode 8.0-compatible
:What are the differences between those formats?
-- UPDATE HISTORY (as of 20 May 2019) --
I originally asked this question when Xcode 6.4 was around.
Xcode 6.4's list includedXcode 3.1-compatible
,Xcode 3.2-compatible
andXcode 6.3-compatible
, and defaulted toXcode 3.2-compatible
.
Xcode 7 didn't introduce any changes.
Xcode 8 added anXcode 8.0-compatible
item.
Xcode 9 changed the default for new projects toXcode 8.0-compatible
. (8 Oct 2017)
Xcode 10.2 addedXcode 9.3-compatible
,Xcode 10.0-compatible
(May 2019) -
Para almost 9 yearsYes, like I said in my question, I noticed the default is still 3.2, that's why I got curious about the format :) So it looks like there are no major changes, though something is probably happening behind the scenes.
-
Jiri Trecak almost 9 yearsI am sure we will know as soon as Swift 2 is stable and released :)
-
Para over 8 yearsQuick update: Xcode 7 and Swift 2 have been officially released, however nothing changed as to the Project Format. We might have to wait for Xcode 8... or maybe there is simply no answer to this question!
-
Justin Vallely over 7 yearsHas anyone seen any changes with the new "Xcode 8.0 compatible" option?
-
NiñoScript over 7 yearsI see none (other than objectVersion = 48, whatever that value means)
-
Justin Vallely about 7 yearsXcode 8.2.1 still defaults to
Xcode 3.2-compatible
on new projects. -
Raphael over 6 yearsTwo years later, still nothing changed. Any new speculation, maybe with references?
-
iOS dev over 5 yearsJust revisited this myself with Xcode 10. Aside from incrementing
objectVersion
and updatingcompatibilityVersion
, it appears a minor change was made whereLD_RUNPATH_SEARCH_PATHS
is no longer stored as a whitespace separated list, but as a comma separated collection. Still, very minor.