使用多个窗口的iOS full / lite版本

时间:2012-02-23 13:37:27

标签: iphone ios ipad xcode4.2 xcode4.3

我的Xcode 4.3项目中有两个目标。每个目标都有自己的X-info.plist文件。我想有两个窗口(MainWindow.xib),一个用于完整应用程序,一个用于Lite版本。我为每个目标设置了Main Interface,并在X-info.plist中设置了Main nib file base name,但它不起作用。我错过了什么? THX

2 个答案:

答案 0 :(得分:1)

您可以将预处理器宏添加到精简版LITE=1的目标中。然后在您的代码中,当您想要执行不同的操作时,可以使用#ifdef,例如:

NSString *mainWindow;
#ifdef LITE
    mainWindow = @"MainWindow_Lite";
#else
    mainWindow = @"MainWindow_Full";
#endif
// Load nib with the name mainWindow.
// Or load ads in the lite version
// Or disable functionality in the lite version
//

如果你想避免这样做,并希望对两个笔尖使用相同的名称,你必须将其中一个添加为完整目标的一个成员,另一个作为精简目标的成员。

答案 1 :(得分:0)

您可以轻松地为不同的目标使用.xib文件的相同名称。只需确保具有相同名称的两个文件不是同一目标的成员。它们必须放在HD的不同目录中以及项目中的不同组中。

IB(图像资源等)和多个目标也存在已知错误:请参阅Two targets with separate .xib (image resources with same names)

但是这个信息适用于XCode 4.2.x,不确定它是否对XCode 4.3有效