Xcode 15中的版本控制发生了什么?

rks48beu  于 2023-11-21  发布在  其他
关注(0)|答案(3)|浏览(192)

我有一个带有小部件的iOS应用程序。正常的更新内务包括碰撞应用程序的CFBundleVersion和扩展以保持同步。
我刚刚下载了Xcode 15(release),虽然App Target仍然在General/Identity中的同一个地方拥有版本和构建,但扩展的General/现在缺少版本和构建。版本在pList中,但不是构建号,除了更改它还有一个hack。
有人知道在哪里可以干净地更新扩展版本/构建吗?

ar7v8xwq

ar7v8xwq1#

苹果删除了简单,方便的方式来更改扩展的构建和版本。现在,对于扩展,您必须转到目标并在构建设置/版本控制下更改它。
既然应用程序和扩展总是应该有相同的版本/构建,为什么不能只是简单的默认值,有一个不稳定的路径从默认值改变需要?

pobjuy32

pobjuy322#

最近的Xcode版本(我想说是14年的新版本)改变了Xcode和App Store Connect之间的App Store提交工作流程。
有一个选项,主机服务现在告诉你它认为下一个版本号是什么。它也做一些基本的数字冲突检测。
整体行为意味着您可以继续构建和提交而不更改编号,并且每次上传都不会因为版本号+构建号与已上传到团队帐户的内容相匹配而被拒绝。
我对苹果将一些版本魔法扩展到扩展的可能性持开放态度。
此外,我认为大约Xcode 12,我注意到App Store的扩展版本检查基本上已经停止了。(我有一个参考项目,有许多扩展,我经常无法同步所有扩展版本号,所以我已经看到了很多次错误)。
我不确定官方是否有任何变化,但我可以说,自从WWDC以来,我最近重新阅读了所有可用的扩展文档,没有提到任何版本匹配的变化。

oxosxuxt

oxosxuxt3#

以下是一个解决方法:项目(顶层)设置还包含Versioning部分,因此我在那里添加了“当前项目版本”(=“Version”)和“Marketing Version”(=“Build”)值,然后从所有目标中删除了相同的条目(然后通过继承自动采用在项目级别设置的相同值)。
这使得应用程序可以成功构建而不会出现任何版本警告,并且只需要在一个地方进行更新。
主要的缺点是,你必须记住在未来再次更新项目设置中的版本控制,并且不能使用目标的General选项卡,而不会导致它采用需要在未来再次独立更新的版本控制。

相关问题