截至2023年4月,苹果已强制我们在构建和提交应用时使用Xcode 14.1和iOS 16.1 SDK。
在Xcode中有2个字段:1."iOS部署目标":iOS 16.1(在xcode 14.1中,"默认"表示16.1)1."最小部署":* * 我们可以设置的最低iOS版本是11.0、10.3还是9.0?**第一节第一节第一节第二节第一节
更新日期:
根据this,这是否意味着我们必须使用iOS 16.1作为Xcode 14.1中的"iOS部署目标"和11.0作为"最小部署":
bwleehnv1#
这是您的第一个屏幕截图。在左侧选项卡区域选择项目后,在主选项卡面板区域中,您可以看到iOS的部署目标(如果您也要在macOS上部署,也可以看到其他平台的部署目标)。此部署目标是在左侧选项卡区域中选择目标后删除“最小部署”值时显示的备用默认值。
这是您的第二个屏幕截图。在左侧面板中选择目标时显示的“最小部署”值控制 * 从**哪个 * 版本的iOS(或macOS等)允许安装该应用。
当苹果说你需要使用某个特定的SDK时,他们并不是在谈论部署的概念。他们是在谈论编译应用程序时使用了哪个版本的SDK。这就是所谓的Base SDK。它与你正在使用的Xcode版本一起提供。如果苹果无法让开发者使用最新的Base SDK,它们不能将人们从旧的部署目标推开,因为每个SDK仅覆盖特定范围的部署目标。
Xcode和App Store提交之间存在微妙的互动。Xcode自带脚本和工具,可以将应用上传到App Store进行审核。App Store作为一种网络服务,必须与正在使用的上传器匹配,因为两者之间使用了私有API。存在一个切入点,旧版Xcode将无法上传到当前的App Store。强制规定某个Xcode版本意味着苹果可以使上传工作流现代化,并随着时间的推移清理捆绑包格式和要求。有时候,如果您被某个特定的Xcode版本卡住了,您也许可以使用最新Xcode的上传程序来提交您的应用以供App Store审查。
在2023年4月的转换中,你将使用Xcode 14.1编译你的项目。这将整理出基础SDK的需求。你可以根据你指定的表来选择你想要的部署目标。“最佳实践”是去年的主要iOS版本,测试它、当前版本和最新的Beta版本。在真实的世界中,这取决于您的用户社区。
苹果的问题是,如果你的应用程序不会运行在他们的新硬件,这可能是一个太旧的部署目标的后果.例如September 2018指导强制要求应用程序将运行在iPhone XS Max.将部署目标设置(强制)为太旧通常会导致编译时错误。我还没有听说过部署目标本身是App Store拒绝的原因,但如果有人能分享这方面的轶事,我会很感兴趣。指定一个太新的部署目标(未发布的beta软件版本)是一个问题,即使你没有使用任何未发布的功能,你也会被拒绝。
1条答案
按热度按时间bwleehnv1#
部署目标
这是您的第一个屏幕截图。
在左侧选项卡区域选择项目后,在主选项卡面板区域中,您可以看到iOS的部署目标(如果您也要在macOS上部署,也可以看到其他平台的部署目标)。
此部署目标是在左侧选项卡区域中选择目标后删除“最小部署”值时显示的备用默认值。
最小部署
这是您的第二个屏幕截图。
在左侧面板中选择目标时显示的“最小部署”值控制 * 从**哪个 * 版本的iOS(或macOS等)允许安装该应用。
基本SDK
当苹果说你需要使用某个特定的SDK时,他们并不是在谈论部署的概念。他们是在谈论编译应用程序时使用了哪个版本的SDK。这就是所谓的Base SDK。它与你正在使用的Xcode版本一起提供。如果苹果无法让开发者使用最新的Base SDK,它们不能将人们从旧的部署目标推开,因为每个SDK仅覆盖特定范围的部署目标。
应用程序上传程序
Xcode和App Store提交之间存在微妙的互动。Xcode自带脚本和工具,可以将应用上传到App Store进行审核。App Store作为一种网络服务,必须与正在使用的上传器匹配,因为两者之间使用了私有API。存在一个切入点,旧版Xcode将无法上传到当前的App Store。
强制规定某个Xcode版本意味着苹果可以使上传工作流现代化,并随着时间的推移清理捆绑包格式和要求。
有时候,如果您被某个特定的Xcode版本卡住了,您也许可以使用最新Xcode的上传程序来提交您的应用以供App Store审查。
你能做什么
在2023年4月的转换中,你将使用Xcode 14.1编译你的项目。这将整理出基础SDK的需求。你可以根据你指定的表来选择你想要的部署目标。
“最佳实践”是去年的主要iOS版本,测试它、当前版本和最新的Beta版本。
在真实的世界中,这取决于您的用户社区。
如果我强制部署目标对于Xcode来说太旧会怎样?
苹果的问题是,如果你的应用程序不会运行在他们的新硬件,这可能是一个太旧的部署目标的后果.例如September 2018指导强制要求应用程序将运行在iPhone XS Max.
将部署目标设置(强制)为太旧通常会导致编译时错误。
我还没有听说过部署目标本身是App Store拒绝的原因,但如果有人能分享这方面的轶事,我会很感兴趣。
指定一个太新的部署目标(未发布的beta软件版本)是一个问题,即使你没有使用任何未发布的功能,你也会被拒绝。