如何确定用于从代码开发的xcode

ama*_*mar 13 xcode ios

我有iOS应用程序源代码我想确定使用哪个版本的xcode来开发项目.

project.pbxproj当我去节/* Begin PBXProject section */,它说

compatibilityVersion = "Xcode 3.2";
Run Code Online (Sandbox Code Playgroud)

所以我的猜测是它已经在一些4.x版本上开发而不是在xcode 5上.请建议.

小智 12

如果您有与项目关联的.xcarchive或.ipa文件,则可以确定用于构建它的Xcode版本.Xcode在构建时添加了info.plist的"DTXcode"键.

因此,使用Finder打开.xcarchive文件或将.ipa文件重命名为.zip并使用Finder打开它.
导航以查找应用程序包文件 - 即具有.app扩展名的文件.右键单击并"显示包内容".找到info.plist并使用文本编辑器打开它.

你会看到类似的东西:

<key>DTXcode</key>
<string>0611</string>
Run Code Online (Sandbox Code Playgroud)

在这种情况下,611是Xcode 6.1.1.

或者,如果您有权访问iTunesConnect,则可以查看已上载的二进制文件的详细信息.查找"构建详细信息"并找到名为"构建SDK"的密钥.它将是一个字母数字字符串,例如12B411.

由于Apple通常只将一个版本的SDK与Xcode捆绑在一起,因此您可以使用此站点查找与SDK对应的Xcode版本:https: //en.wikipedia.org/wiki/Xcode

在12B411的情况下,我看到的是iOS 8.1 final,它与Xcode 6.1 build 6A1052d捆绑在一起.


小智 10

如果您打开project.pbxproj文件并进行搜索CreatedOnToolsVersion,它看起来会在这里提供您想要的内容,至少在较新版本的Xcode中.

我看到它在我的一个项目中设置为7.3.1,在另一个项目中设置为8.3.2,使用该版本的Xcode创建.

  • 我不能给他们两个正确的答案。当你有代码时,这个答案适用于所有情况。+1。但有一点 CreatedOnToolsVersion 显示用于创建的 xcode 不是最后一个使用的。我的显示 7.*** 其中当前是我使用的 9.0 (3认同)

Ami*_*ndi 5

在 Xcode 11-12 上,这对我
有用:在您的架构文件中,它提到了上次使用的 Xcode 版本。

YourProject.xcodeproj/xcshareddata/xcschemes/YourSchema.xcscheme
Run Code Online (Sandbox Code Playgroud)

LastUpgradeVersion = "1160" 表示 Xcode 11.6

当您单击Update to recommended settings警告时,Xcode 会更改此值!。
即使您取消选中所有推荐设置并单击done它仍然会更改数字。