Xcode13新增功能:打包版本号检测和同步

2,166 阅读2分钟

楼主最近更新了Xcode13,工程文件icon和Xcode界面布局改动最为明显,楼主是一顿吐槽,苹果真是反人类。不过用了几天也就适应了。

Manage Version and Build Numbe

今天打包提审时又发现一个”新东西“(下图)——”Manage Version and Build Numbe“,只有打包选择”App Store Connect“时才会出现。

关于这部分的描述,我找到了官方文档

将应用程序上传到 App Store Connect 时,Xcode 中的分发助手会检测您的应用程序是否具有有效的内部版本号 (CFBundle​Version )。如果您的应用程序的编号无效(例如之前使用过的编号,或在您当前的内部版本编号之前的编号),则分发助手会提供一个选项以自动将其递增为有效编号。此外,分发助手可确保您的应用程序中所有嵌入内容(例如App扩展、轻应用、watchOS App)的内部版本号与您的应用程序同步。请注意,这不会修改您的源代码或存档;在打包并上传到 App Store Connect 之前,Xcode 会在应用程序的分阶段副本中更新内部版本号

意思就是说,如果你勾选了这个选项:
1.Xcode会帮你检测你包里的buildCode是否有效。比如你忘记改了,填了一个苹果后台已经存在的buildCode,Xcode会帮你改为苹果后台buildCode的自增。
2.Xcode会把你包里面所有的嵌入内容(App扩展、轻应用、watchOS App、Framework)的版本号全部改为和主App一致。Framework是否会被修改,官方文档虽然没提到,不过楼主试验过了,勾选后,打包出来的ipa包里面的Framework版本全部变成和主App一样了。

那我到底是勾选还是不勾选呢?这个因人而异

  • 如果你的App里面有App扩展,而你不在乎接入的Framework版本号被修改,你可以勾选,这样你就不用每次都去同步App扩展和主App的版本号了(小知识:主App和App扩展版本号必须一致,否则传包报错);
  • 像楼主的App里面有不少自研的动态库Framework和第三方的SDK,如果版本号全部被修改成和主App一样,可能会导致线上包不好追溯SDK版本。所以楼主还是选择不勾。

参考链接:
Xcode 13 Release Notes

如果觉得这篇文章对你有帮助,请点个赞吧。欢迎关注我的公众号
转载请注明出处,谢谢!