虽然我正在制作游戏原型,但我经常需要回过头去与旧版本进行比较,以便更好地了解我是否在正确的轨道上。但是,每次我需要检查特定版本时,必须检查旧版本并重新导出是一个长时间的过程。如果我可以简单地推出不同的版本,它会更加顺畅。
如何在设备上安装同一项目的多个版本?
答案 0 :(得分:11)
如果为程序提供不同的软件包标识符,则可以将它们安装在同一设备上。可能会添加一个新的构建目标,将随机数(或构建版本或svn修订版等)附加到捆绑包标识符的末尾(可能还有应用程序名称),然后您可以同时安装多个版本。
例如,您可能拥有标题为“MyGame”的应用程序“com.mycompany.mygame”,您的脚本将创建标题为“MyGame43”的版本,例如“com.mycompany.mygame43”。
然而,这可能会因为苹果公司喜欢让开发人员变得困难而被打败,这也称为代码签名。我个人没有做很多App Store开发,但我知道配置文件可能会非常麻烦,他们可能会遇到这种方法的问题。谁知道呢。
编辑:猜测它可以与代码签名配合使用,但不适用于应用内购买。
答案 1 :(得分:2)
您需要每个版本都有不同的捆绑标识符。
您可以创建一个脚本来编辑Info.plist,将版本号附加到包标识符并创建自定义构建阶段以便为您运行脚本...或者您可以手动编辑包标识符。
答案 2 :(得分:2)
我这样做,并为我工作: 我使用具有不同产品名称的相同项目。
1.更改产品名称
XCode Group&文件窗格 - >目标 - > projectName - >(Ctrl + Click)获取信息 - >构建 - >产品名称。
这使我能够使用相同的配置文件在同一设备上创建许多应用程序(根据版本具有不同的名称,例如AppName1.1,AppName1.2)。
2.对于每个项目,我使用ProductName创建文件夹只是为了识别目的。
所以带有产品名AppName1.1的项目将包含在文件夹AppName1.1等中。 当我在版本文件夹中进行许多更改时,我包含一个小的readme.txt。
项目名称保持不变,因为如果我更改它将无效。
答案 3 :(得分:1)
编辑以突出显示先前的第三个选项以及我现在管理此问题的方式:
我会使用Source Control来标记每个版本 - 这样就很容易回到以前版本的代码。应该可以在单独的文件夹中签出标记的项目(我使用Subversion)。
将旧版本放在单独的目录中后,更改Bundle Identifier - 添加标签名称和构建等。更改软件包标识符时 - 确保不更改初始编号,应用程序仍应正常工作使用您的配置文件。这假设您具有用于开发的通配符配置文件。如果您需要包含Nofifications或应用内购买,则可能无法实现。
=============================
以前版本的答案:
我有一个快速的技巧,我用来保存版本 - 我使用不同版本的模拟器,在开发过程中我不断在不同版本之间移动。如果您使用模拟器进行此操作,您还可以移动文件。
然而,在设备上,您将不得不更改您提到的包标识符。每次我想冻结功能并进入新阶段时,我都会编辑捆绑版本。
另一种选择是使用您的版本控制来标记您的每个版本,允许您根据需要返回到以前的版本作为单独的项目,然后您可以更改捆绑包标识符并作为单独版本安装。 / p>
现在我写了这个回复我想我会开始使用选项3并在SVN中更好地标记我的版本并使用这个方法,因为它比随机记忆哪个版本在哪个模拟器中更少随机而且它将允许我也可以部署在设备上。
答案 4 :(得分:0)
每当我达到里程碑时,我只是将整个项目压缩成拉链。然后,如果我需要返回并引用它或运行它我可以提取它并编译,我有两个单独的版本,我可以切换。这不是最优雅的解决方案,但它很容易做到,您可以将所有备份放到外部硬盘上以便安全保存。