Две цели с отдельным .xib (ресурсы изображений с одинаковыми именами) - PullRequest
10 голосов
/ 16 января 2012

У меня есть проект с двумя целями, скажем, appA и appB .

Обе цели общий код контроллера основного представления (appViewController) , за исключением файлов .xib .

У меня также есть два набора PNG каждый для одной цели.

Моя структура файла / проекта выглядит следующим образом:

*common* (members of both targets):
    appViewController.h
    appViewController.m

*appA* (members of target appA):
    appViewController.xib
    set of png files

*appB* (members of target appB):
    appViewController.xib
    set of png files

PNG в обоих наборах имеют одинаковые имена, но они помещены в отдельные папки / группы, и одна группа является членом одной цели, а другая - другой цели (то же самое с appViewController.xib)

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

Поскольку .xib довольно сложны (> 40 изображений), редактирование с частично неправильными изображениями почти невозможно - изображения должны быть правильно размещены на одном фоновом изображении (фоновое изображение также отличается для appA и appB).

Проблема существует только во время редактирования (в IB). После компиляции все изображения в обе цели верны.

Я нашел одно быстрое и грязное решение для этого. Прежде чем я начну редактировать один .xib Я удаляю ссылки на другой набор PNG. Таким образом, IB показывает правильные изображения для .xib я редактирую. Я просто импортирую обратно все ссылки (PNG другой цель), когда я закончу.

Я нашел похожий вопрос , на который действительно не было ответа.

Интересно, у кого-нибудь есть более чистое решение для этого? Должен быть лучший способ сделать это.

1 Ответ

6 голосов
/ 22 января 2012

Пока нет ответов ...

Итак, позвольте мне ответить на мой собственный вопрос (все еще надеюсь на лучший ответ).

Когда вы хотите отредактировать .xib одной цели, выудалите ссылки на ресурсы других целей (pngs).

Затем вы выйдете из xcode и снова откроете свой проект.Pngs будут правильными (так как xcode не содержит ссылок на неправильные в настоящий момент).

Когда вы закончите - импортируйте удаленные ссылки (позаботьтесь о том, чтобы вы проверили правильное «целевое членство»').

Редактировать: Кажется, это известная проблема с IB - XCode.Пока они не разрешат это, нам нужно будет использовать обходной путь, упомянутый выше.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...