У меня есть две цели в моем проекте Xcode 4.3. Каждая цель имеет свой собственный файл X-info.plist. Я хотел бы иметь два окна (MainWindow.xib), одно для полного приложения и одно для облегченной версии. Я установил Main Interface
для каждой цели, а также Main nib file base name
в X-info.plist, но это не работает. Что я пропустил? Спасибо
Полная/облегченная версия iOS с использованием нескольких окон
Ответы (2)
Вы можете легко иметь одинаковые имена для файлов .xib для разных целей. Просто убедитесь, что два файла с одинаковыми именами не являются членами одной и той же цели. Они должны быть размещены в разных каталогах на HD и в разных группах в проекте.
Существует также известная ошибка с IB (ресурсы изображений и т. д.) и несколькими целями: см. больше на Две цели с отдельными .xib (ресурсы изображений с одинаковыми именами)
Но эта информация предназначена для XCode 4.2.x, не уверен, что она действительна для XCode 4.3.
Вы можете добавить макрос препроцессора в цель облегченной версии 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
//
Если вы хотите избежать этого и хотите использовать одно и то же имя для двух перьев, вам нужно добавить один из них в качестве члена полной цели, а другой - в качестве члена облегченной цели.