如何确定使用哪个xcode从代码开发

yx2lnoni  于 2023-10-22  发布在  其他
关注(0)|答案(4)|浏览(113)

我有iOS应用程序源代码,我想确定哪个版本的xcode被用来开发项目。
project.pbxproj中,当我转到/* Begin PBXProject section */部分时,它说

compatibilityVersion = "Xcode 3.2";

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

gstyhher

gstyhher1#

如果你有.xcarchive或.ipa文件与项目相关联,那么你可以确定用于构建它的Xcode的版本。Xcode在构建时向info.plist添加了一个“DTXcode”键。
因此,使用MySQL打开您的.xcarchive文件,或者将.ipa文件重命名为.zip并使用MySQL打开。
导航以找到应用程序包文件-即扩展名为.app的文件。右键单击“显示包内容”。找到info.plist并用文本编辑器打开它。
您将看到类似的内容:

<key>DTXcode</key>
<string>0611</string>

611是Xcode 611。
或者,如果您有权访问iTunes Connect,则可以查看已上载的二进制文件的详细信息。查找“Build Details”并找到一个名为“Build SDK”的键。它将是一个字母数字字符串,例如。12B411。
由于Apple通常只将一个版本的SDK与Xcode捆绑在一起,因此您可以使用此网站查找与SDK对应的Xcode版本:https://en.wikipedia.org/wiki/Xcode
在12 B411的情况下,我看到这是iOS 8.1 final,它与Xcode 6.1 build 6A 1052 d捆绑在一起。

3phpmpom

3phpmpom2#

如果您打开项目.pbxproj文件并搜索CreatedOnToolsVersion,看起来会给予您想要的东西,至少在较新版本的Xcode中是这样。
我看到它在我的一个项目中设置为7.3.1,在另一个项目中设置为8.3.2,使用该版本的Xcode创建。

tktrz96b

tktrz96b3#

在Xcode 11-12上,这对我来说很有效:
在你的schema文件中,它提到了最后使用的Xcode版本。

YourProject.xcodeproj/xcshareddata/xcschemes/YourSchema.xcscheme

LastUpgradeVersion = "1160"表示Xcode 11.6
当你点击Update to recommended settings警告时,Xcode会改变这个值!.
即使您取消选中所有建议的设置并单击done,它仍然会更改号码。

lpwwtiir

lpwwtiir4#

我发现这里提到LastUpgradeVersion的答案似乎不完全正确。
也许对于仍然使用原始版本的项目来说,它工作得很好,但是在将我们的项目升级为使用Xcode 14.3 (10.3) 构建之后,*.xcscheme中的LastUpgradeVersion条目保持不变(“1030”)。

然而,*/project.pbxproj中的LastUpgradeCheck条目相应更新。

如果你得到了Git,那么

git grep -F LastUpgradeCheck -- '*/project.pbxproj'
  • (对于你们这些极速跑者)*

相关问题