2012-02-23 3 views
0

У меня есть две цели в моем проекте Xcode 4.3. Каждая цель имеет свой собственный файл X-info.plist. Я хотел бы иметь два окна (MainWindow.xib), один для полного приложения и один для версии Lite. Я установил Main Interface для каждой цели, а также Main nib file base name в X-info.plist, но он не работает. Что я упустил? ThxiOS полная/облегченная версия с использованием нескольких окон

+0

Я разместил ссылку ниже. Если он не отвечает на ваш вопрос, пожалуйста, объясните больше о том, что именно не работает. –

ответ

0

Вы можете легко иметь одинаковые имена для .xib-файлов для разных целей. Просто убедитесь, что два файла с тем же именем не являются членами одной и той же цели. Их нужно размещать в разных каталогах на HD и в разных группах проекта.

Существует также известная ошибка с IB (изображения ресурсов и так далее) и несколько целей: больше на Two targets with separate .xib (image resources with same names)

Но эта информация для XCode 4.2.x, не уверен, если он/s действительны для XCode 4.3

+0

Хм ... Я не думаю, что понимаю первую часть. Вы говорите, что я могу создать два файла с тем же именем (например, RootViewController.xib)? XCode не позволяет мне это делать. – xpepermint

+0

Должно быть, я использую его все время. Вы должны хранить их в отдельных каталогах на диске и отдельных группах в проекте. Они также должны принадлежать к различным целям (один для полного приложения, один для приложения Lite). –

+0

Когда вы добавляете файлы в проект, вы можете определить, к какой цели он относится (он может принадлежать всем им или только нескольким). Для файлов, которые уже находятся в проекте, вы можете редактировать целевое членство, выбрав view-> utilities-> file inspector –

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 
// 

Если вы хотите, чтобы не делать этого и нужно использовать то же имя для двух наконечников, вы должны добавить один из них является участником полной цели, а другой - членом легкой цели.

 Смежные вопросы

  • Нет связанных вопросов^_^