1

我目前正在为 iOS 开发 cocos2d 游戏。目前我正在运行时检查它是否是运行和调整坐标等的 ipad 或 iphone。为了这。

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

目前我检查

UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad

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

4

2 回答 2

1

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

于 2012-04-13T22:25:28.807 回答
0

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

于 2012-04-13T22:16:52.160 回答