是否有可能使用相同的项目在Xcode 4上生成两个不同的IPA?一个用于iPhone和一个用于iPad?

问题描述:

我现在有一个通用iOS应用,但随着新的iPad3设备,我们需要增加资源/精灵针对特定设备的问题是,IPA的规模已经变得令人难以置信的大多亏了巨大的新屏幕。我想知道是否可能只有一个Xcode 4项目可以生成两个不同的IPA,一个是目标:iphone和其他目标:ipad,也可以包含或排除文件,具体取决于文件扩展名,例如blah-ipad .png不会在iphone版本上。 谢谢!是否有可能使用相同的项目在Xcode 4上生成两个不同的IPA?一个用于iPhone和一个用于iPad?

+0

这将使用单独的Xcode'TARGET's常见的做。为了自动分离您的资产,您必须构建一个定制的脚本。所以从技术上讲,所有这些都是可能的。 – Till 2012-04-17 00:39:05

@Conrad舒尔茨就是为什么你应该现有的付费应用不分成两个正确的。

对于谁没有公布他们的应用程序,或者它的应用程序是免费的,这是值得了解,你可以复制它通过右键单击(或控制单击)一个目标,并选择复制人。我很确定复制只能通过这个上下文菜单提供。更明显的“添加目标”选项涉及创建一个全新的目标并手动复制现有目标的内容和设置。

XCode UI showing Target context menu and Duplicate option

一旦你有多个目标,您可以指定哪些资源分布与每个。

编辑:如果您有iPhone目标和iPad目标,您还需要更改“设备”设置。

XCode UI showing Target Membership selection for an image resource

如果你有大量的资源,考虑将它们与文件夹引用文件夹。然后,您可以为整个文件夹指定目标成员资格,而无需更改单个文件。这将改变您的捆绑包中这些资源的路径,因此应进行相应的规划。

+1

那些还没有发布应用程序的优秀的职位。另请注意,您需要更改实际的编译设置,尤其是器件系列,才能获得理想的结果。 – 2012-04-17 00:54:26

+0

+1描述得很好 – Till 2012-04-17 00:54:47

+0

非常棒的贴子!这真的有帮助!只是有一个问题,我有一个多组图像,我把它转换成一个文件夹,但我仍然无法改变组的目标? – Darkslave 2012-04-17 01:20:29

是的,没有。

你当然可以设置不同的构建目标(并计划)针对不同的产品,针对不同设备的家庭,不同的架构,甚至是完全不同的平台(OS X与iOS版)。你当然可以在每个资产中包含不同的资产。我个人一直都这样做,所以如果这就是你想要做的,让我知道,我会尝试提供更多的细节。

但你不能做的是提交多个IPA的单个产品到App Store。如果您已经通过App Store发布通用的应用程序,你唯一的办法是把它和创建新的软件包标识,产品名称等两个新的应用程序(我不认为,但我可能是错的在这一点上,你甚至可以将通用应用降级到单一家庭应用,但这是你必须在开发人员/应用商店文档和协议中查看的东西。)

如果你去了这条路线,你将迫使现有用户以全价购买新的应用程序。这可能会很难被客户接受。如果我是你,我会考虑尺寸差异是否真的足够大,如果可以,请查看跨设备重用资产的策略(例如,在@ 1x设备上缩小分辨率更高的图像),尽管如此引入可能的性能处罚。

+0

是的,我知道我无法为单个应用程序提交多个IPA,我的问题是关于两个拆分资产,也许您可​​以提供关于该点的更多详细信息。 – Darkslave 2012-04-17 01:23:23

+0

阅读本文,似乎很明显,如果在[@ 1x'设备上运行''[UIImage imageNamed:]'_only_时发现'@ 2x'图像,则应该缩小它们并将其拷贝缓存到应用程序的临时文件夹中以备后用。当然,你可以自己实现它,但是如果'UIImage'自动完成,无数的应用程序都会受益。 – Dondragmer 2012-04-17 01:23:57