假设我在Appstore上有一个现有的IOS应用程序,版本为1.0
现在我对应用程序进行了一些更改,并希望提交回来。
有两种不同的提交方式吗? 就像我仍然可以将版本保持为1.0并只提交应用程序或 我需要创建一个新版本1.1然后提交它吗?
这个过程有什么不同?
同样来自客户端,这对新用户/现有用户有何影响?
答案 0 :(得分:10)
我刚刚发现了一些关于版本升级和App Store的内容。刚才,由于我以前无法想象的iOS系统行为,我遇到了问题和用户崩溃。而且,非常重要的是,iTunes,AppStore和iOS在最新版本中修改了一些升级和安装规则。现在,它以这种方式工作: - 当用户安装新版本时,捆绑包中的所有文件都会下载并复制到以前的现有捆绑包中,但不会删除旧文件或组件(或者不会删除所有文件)。因此,最终的捆绑包不等于新版本的全新安装包。 - 例如,如果xib / nib文件已针对新版本本地化为不同语言,则更新的捆绑包将包括两个版本:根文件夹中的一个版本和每个本地化文件夹中的另一个版本。显然,系统将使用第一个系统,只有全新安装才会显示该文件的本地化。 我的一个应用程序显示MainWindow.xib存在问题,并且由于引用和类中有一些修改,每次尝试运行时更新的应用程序都会崩溃,因为它使用的是obsolet对象。我已经构建了一个新版本,更改了已本地化的xib / nib文件的名称。由于MainWindow就是其中之一,我当然要在info.plist中修改引用。
好的,知道这一点,您可以在捆绑包中构建一个包含完整不同组件的新版本,如果以前版本的文件确实存在,则该应用程序会向用户提供使用它们的选项。也就是说,应用程序的两个版本在一个图标和包中。不是很难做到。
但是,非常奇怪的是我认为新的iOS版本和iTunes不允许降级。我试过这样做,但没有完成它。也就是说,如果您安装了一个版本,例如1.2,则AFAIK无法在设备上安装后一个v1.1,也不能在iTunes->“应用程序”中安装。因此,双版本包将一直存在,直到重新安装该应用程序。
答案 1 :(得分:8)
您需要创建一个新的版本号,这是有道理的,因为这是您应用的新版本。然后,这将显示为您的客户的更新。我不认为您可以上传具有相同版本的新二进制文件而不从商店中删除旧的二进制文件。
您在iTunes connect中添加新版本,然后更新Xcode中的版本号以匹配并创建新的存档。这很简单。
答案 2 :(得分:2)
您必须始终增加应用更新的版本号。
用户将在设备上的App Store图标和PC上的iTunes中看到徽章。进入更新部分,它将列出您的应用程序以及您提供的更改列表,以及安装更新的按钮。他们还可以一次更新所有应用。
答案 3 :(得分:1)
NSString *version = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleVersion"];
NSLog(@"version is%@",version);
答案 4 :(得分:0)
您无需再打开版本号即可提交。打开Xcode,转到Window - Organizer - Archives并分发您已成功创建的应用程序。