区分开发iPhone应用程序版本

时间:2010-07-09 16:49:16

标签: iphone xcode process release-management

我喜欢在我的手机上保留商店购买的iPhone应用程序版本,这样我就可以重现出现的任何客户问题,但我显然也希望运行最新的开发版本。我可以安装两个(一个来自iTunes,一个来自xCode),但我对能够更好地分辨两者的方式感兴趣。我可以暂时更改名称或图标,但这似乎不是非常安全的,即我可能会忘记并使用错误的图标发送它。

有一个快乐的开发者方式来做到这一点吗?

5 个答案:

答案 0 :(得分:7)

我的灵感来自于Eric为项目添加用户定义设置的想法,但我不希望每次构建项目时都运行脚本。

我们知道iPhone默认会查找名为“Icon.png”的图标文件。事实证明,如果您已正确命名图标,则根本不需要项目plist中的“图标文件”设置。但是,如果项目中没有名为“Icon.png”的文件,xCode会查看“图标文件”设置的值。

我将“Debug”中名为“Icon_Name”的用户定义设置设置为非标准图标名称,“DevIcon.png”和“ReleaseIcon.png”用于“Release”配置。项目plist中的“图标文件”设置现在可以设置为$ {ICON_NAME},并将采用我们正在使用的任何配置文件的值。现在,在两种不同配置下构建确实使用了两个不同的图标。

编辑:对于多个图标(高分辨率,小型,ipad等),我采用了稍微不同的方法。用户定义的设置现在是“IconPrepend”,它是调试的“Dev”和发布配置的“Release”。我现在在信息plist中使用“图标文件”(而不是“图标文件”),它采用字符串数组。每个字符串都以$ {ICONPREPEND}为前缀,以便调试配置查找“DevIcon.png”或“DevIcon@2x.png”,发布配置查找“ReleaseIcon.png”或“ReleaseIcon@2x.png”。

答案 1 :(得分:1)

这是一个想法 - 如果您只在USE_DEV_ICON = YES(或其他)的行中为Debug的Project Build属性设置用户定义的设置。然后,使用构建目标中的“运行脚本”选项,您可以根据所调用的活动配置复制不同的图标。

(伪代码)的一些东西:

if ($USE_DEV_ICON == YES)
    cp DevIcon.png Icon.png
else
    cp RealIcon.png Icon.png

然后,每次构建时,根据活动配置,它将复制正确的图标。

答案 2 :(得分:0)

最有可能没有别的办法。您的应用商店版本和开发版本与操作系统完全不同。如果要区分,则需要更改图标或名称。您还可以在开发版本中包含一些调试标签(例如版本号),但您也可能忘记删除它。

答案 3 :(得分:0)

也许你只买第二部iPhone?认真。在你的地方,我会问你同样的问题,但我一定会考虑这样的解决方案。如果我是一个iPhone(或其他任何特定平台)开发人员,我很可能不止一个。

答案 4 :(得分:0)

你不能在Info.plist文件中创建一个具有不同Bundle名称的新目标,并且只要你想构建在iPhone上运行的应用程序就使用这个目标吗?