Ipad / Iphone版本,2个目标,1个代码库

时间:2012-04-13 18:22:55

标签: iphone objective-c ios xcode ipad

我目前正在开发适用于iOS的cocos2d游戏。目前我在运行时检查它是否是运行和调整坐标et.c.的ipad或iphone。对此。

但现在我想要两个版本,一个用于iPad,一个用于iPod touch / iPhone。所以我想要两个目标,但仍然使用相同的代码库。

目前我检查

UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad

确定使用的是哪个设备。但现在我想检查使用的是哪个app / target。如果有人在iPad上使用iPhone版本,我不希望它在iPad上进行调整(iphone版本成本较低,因此不应针对ipad进行调整)。

2 个答案:

答案 0 :(得分:1)

使用完全相同的代码库改变不同目标行为的好方法是创建预处理器定义并在其中一个目标中省略它,或者在每个目标中设置不同。然后可以对代码进行不同的编译,以根据此定义更改其行为(例如,如果使用#ifdef指令,则通过条件编译)。

答案 1 :(得分:0)

如果对于iPhone应用目标,您将目标设备系列设置为仅iPhone,UI_USER_INTERFACE_IDIOM()将始终返回UIUserInterfaceIdiomPhone,即使在iPad上也是如此。