简体   繁体   English

尝试上传Xcode项目时出错:请更新Xcode并重建您的应用

[英]Error when trying to upload Xcode project: Please update Xcode and rebuild your app

I have an Xcode project built with Xcode 7.3.1 (7D1014) and Swift. 我有一个使用Xcode 7.3.1(7D1014)和Swift构建的Xcode项目。

After an urgent bugfix I need to upload the new ipa but I'm getting the following error message: 经过紧急错误修复后,我需要上传新的ipa,但收到以下错误消息:

ERROR ITMS-90725: "SDK Version Issue. This app was built with the iOS '9.3' SDK. All iOS apps submitted to the App Store must be built with the iOS '11.0' SDK or later, included in Xcode [9.0] or later. Please update Xcode and rebuild your app." 错误ITMS-90725:“ SDK版本问题。此应用程序是使用iOS'9.3'SDK构建的。提交给App Store的所有iOS应用必须使用X'code [9.0]或更高版本中包含的iOS '11 .0'SDK或更高版本构建。稍后。请更新Xcode并重建您的应用。”

Because it's an urgent update, I haven't time to update, convert and fix all error messages. 因为这是紧急更新,所以我没有时间更新,转换和修复所有错误消息。

Does anybody know a workaround? 有人知道解决方法吗?

How does Xcode know what iOS SDK I was using to build the app? Xcode如何知道我使用哪个iOS SDK来构建应用程序? Or, can I use the iOS 11.0 SDK in Xcode 7.3.1? 或者,我可以在Xcode 7.3.1中使用iOS 11.0 SDK吗?

I'm sorry but there are not workarounds, from July 2018 all iOS app updates submitted to the App Store must be built with the iOS 11 SDK and must support the Super Retina display of iPhone X. 很抱歉,但是没有解决方法,从2018年7月开始,所有提交给App Store的iOS应用更新必须使用iOS 11 SDK构建,并且必须支持iPhone X的Super Retina显示屏。

You can find more informations here . 您可以在此处找到更多信息。

您需要使用当前的Xcode版本(7.3.1)将项目存档,然后从Xcode 9->窗口->管理器->选择存档->导出生成ipa。

There is a solution! 有解决办法! I tried 2-3 days and now it works! 我尝试了2-3天,现在可以了! You can use older versions of xcode with iOS 11.0 or 12.0 sdk. 您可以在iOS 11.0或12.0 sdk中使用旧版本的xcode。 It's not that short please follow the steps carefully. 并不是很短,请仔细按照步骤操作。

1-)Install xcode 9 or xcode 10 into your mac (or another mac if you have) 1-)将xcode 9或xcode 10安装到您的Mac(如果有的话,请安装另一个Mac)

2-)GO >> Applications >> right click x code 9/10 and show package content. 2-)转到>>应用程序>>右键单击x代码9/10并显示包内容。 Contents >> Developer >> Platforms >> iPhoneOS Platform >> Developer >> SDKs >> iPhoneOS11 or 12 SDK. 目录>>开发人员>>平台>> iPhoneOS平台>>开发人员>> SDK >> iPhoneOS11或12 SDK。 COPY SDKsettings.plist file into another folder on desktop. 将SDKsettings.plist文件复制到桌面上的另一个文件夹中。 Please open a folder on desktop and paste into that folder. 请在桌面上打开一个文件夹,然后粘贴到该文件夹​​中。 Don't paste it on desktop directly. 不要将其直接粘贴到桌面上。

3-)Now for the older version GO >> Applications >> ... >> SDKs >> iPhoneOS9.2 SDK in the older xcode such as 7-8 version. 3-)现在可以使用旧版本的xcode(例如7-8版本)中的GO >> Applications >> ... >> SDK >> iPhoneOS9.2 SDK。 Click on the SDKsettings.plist and send it into trash folder. 单击SDKsettings.plist并将其发送到回收站文件夹。 Open another folder on desktop and move it on that folder from trash. 打开桌面上的另一个文件夹,然后将其从垃圾桶移至该文件夹。 No copy-paste here. 这里没有复制粘贴。

4-)NOW open the folder which contains newest SDK file (mentioned in the 2nd step). 4-)现在打开包含最新SDK文件的文件夹(在第二步中提到)。 Copy that file and paste into the older x code >> GO >> APP >> ... SDKs >> into BOTH iphoneOS9.2sdk and iphoneOS.sdk folders. 复制该文件,然后粘贴到旧的x代码>> GO >> APP >> ... SDKs >>到iphoneOS9.2sdk和iphoneOS.sdk文件夹中。 Change the folder name from iphoneOS9.2 to 11.0 or 12.0 depending the newest SDK you have. 根据您拥有的最新SDK,将文件夹名称从iphoneOS9.2更改为11.0或12.0。 Don't change the name of iphoneOS folder. 不要更改iphoneOS文件夹的名称。

5-)Open your older xcode and now you can see the SDK version is changed to 11 or 12 in build settings (target). 5-)打开较旧的xcode,现在您可以看到在构建设置(目标)中SDK版本更改为11或12。

6-)Still not enough --- More to do. 6-)还不够---还有很多事情要做。

7-)Open a new single view app project in the newest xcode. 7-)在最新的xcode中打开一个新的单视图应用程序项目。 No need to code. 无需编码。 You just need the newest ASSESTS.car file. 您只需要最新的ASSESTS.car文件。 COPY your assets folder from your original project (x code 7/8) to this new project (x code 9/10). 将资产文件夹从原始项目(x代码7/8)复制到这个新项目(x代码9/10)。 Make sure that you fill all AppIcons on the assests in the newest version of xcode. 确保在最新版本的xcode中填写所有AppIcons。 In the info part please add the security things you use in your original code (such as ATC, NSLocation etc.) Also add a row and write CFBundleIconName >> AppIcon. 在信息部分,请添加您在原始代码中使用的安全性内容(例如ATC,NSLocation等)。还添加一行并编写CFBundleIconName >> AppIcon。 Build and RUN the project. 生成并运行项目。 Open the archieve from organizer. 从组织者打开档案。 Right click and show in finder. 右键单击并在finder中显示。 Then right click show package contents. 然后右键单击显示包内容。 Products >> Applications >> Right click and show package contents. 产品>>应用>>右键单击并显示包装内容。 Copy ONLY THAT files >> all.png files + Assets.car + Info.plist + PkgInfo and paste into another new folder on desktop. 仅复制文件>> all.png文件+ Assets.car + Info.plist + PkgInfo并粘贴到桌面上的另一个新文件夹中。

8-) Now open your original code in xcode 7/8 etc. Build and RUN the code. 8-)现在,在xcode 7/8等中打开您的原始代码。生成并运行代码。 Open the archieve from organizer. 从组织者打开档案。 Right click and show in finder. 右键单击并在finder中显示。 Double click Info.plist file. 双击Info.plist文件。 Add a row and write CFBundleIconName >> AppIcon. 添加一行并写入CFBundleIconName >> AppIcon。 Now turn back and Products >> Applications >> Right click and show package contents. 现在返回,然后单击产品>>应用程序>>右键单击并显示包装内容。

9-)Copy all files on the desktop folder mentioned in the 7th step. 9-)复制第7步中提到的桌面文件夹上的所有文件。 Paste the files into folder in the 8th step. 在第8步中将文件粘贴到文件夹中。 Click replace. 单击替换。

10-)Now upload your archieve from xcode 7/8 to appstore! 10-)现在将档案从xcode 7/8上传到appstore! DONE.. DONE ..

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM