Сохранение Interface Builder Изменения при сборке в Xcode - PullRequest
8 голосов
/ 12 октября 2009

Я знаю, что многие из вас сталкивались с тем же сценарием, когда вы бьетесь головой о стену, задаваясь вопросом, что не так с вашим приложением, и обнаруживаете, что вы забыли сохранить изменения Interface Builder.

Ну, это никогда не случается со мной, потому что по какой-то причине Xcode предложит мне сохранять любые изменения в Интерфейсном Разработчике всякий раз, когда я строю. Мы с коллегой пытаемся понять, как это изменить на своей машине, но безуспешно. Я, должно быть, сделал что-то на самых ранних этапах своей жизни на iphone, чтобы настроить это.

Кто-нибудь знает, как связать IB с Xcode, чтобы он предлагал сохранить изменения в файлах IB во время сборки?

Ответы [ 8 ]

3 голосов
/ 15 октября 2009

Кто-то еще задавал в значительной степени тот же вопрос (ссылка @ balanon ). Ответ от ирск :

Странно, похоже, это вызвано открыв свой проект, используя Файл> Открыть меню последних проектов в Xcode или с помощью списка последних документов в экран приветствия Xcode.

Если дважды щелкнуть файл проекта в Finder, чтобы открыть его или выбрать проект из меню Недавние пункты в меню Apple, подключение Xcode к Интерфейсный Разработчик не поврежден.

Вот мой оригинальный ответ:

У вас обоих одинаковая версия Xcode? Отмечу, что с тех пор, как я перешел на Snow Leopard и Xcode 3.2, связь между Xcode и Interface Builder не так надежна, как в предыдущих версиях. Это кажется довольно распространенным - по крайней мере, я видел довольно много жалоб в Twitter - и поэтому надеюсь, что Apple исправит это.

2 голосов
/ 20 октября 2009

Возможно, вы используете 32-битную версию, а он 64-битную?

Кажется, я вспомнил проблему с связью IB на AppleEvent с 64-битным Xcode.

1 голос
/ 20 октября 2009

Попробуйте открыть свой проект xcode из окна поиска. После обновления до снежного барса связь между xcode и IB прервалась, если проект загружен из опции Recent Files.

Этот ответ может быть связан Интеграция Interface Builder и Xcode не работает

1 голос
/ 16 октября 2009

Раньше это тоже работало без нареканий, но перестало работать с Xcode 3.0. Я уверен, что должна быть какая-то скрытая настройка, поскольку она работает для некоторых, предположительно тех, которые активировали ее в Xcode 2.x, однако я не нашел ее.

Для тех, кто заинтересован, у меня есть обходной путь , который включает в себя вызов простого AppleScript, который сохраняет все открытые документы IB. Вот шаги:

1) Создайте скрипт Apple, что-то вроде этого:

tell application "Interface Builder"
 set num to count of documents
 if num > 0 then
  repeat with i from 1 to num
   tell document i to save
  end repeat
 end if
end tell

2) Сохраните его как скрипт (в моем примере / Пользователи / Я / Программирование / SaveIBFiles.scpt )

3) В вашем проекте создайте новую цель. То есть меню «Проект» »« Новая цель ... », там выбираем« Другое »» «Цель сценария оболочки». Я назвал это "Сохранить файлы IB"

4) Разверните новую цель, она уже содержит фазу «Выполнить сценарий». Вызовите информацию для этой фазы Run Script, вкладку «General», оставьте Shell на /bin/sh и как Script напишите:

if [ -f "/Users/myself/Programming/SaveIBFiles.scpt" ]; then
 osascript "/Users/myself/Programming/SaveIBFiles.scpt"
fi

5) Теперь выберите исходную цель, вызовите ее информацию, вкладку «Общие» и добавьте новую цель в качестве прямой зависимости.

Теперь, когда вы создаете свое приложение, скрипт вызывается, сохраняет ваши открытые файлы IB и затем компилирует вашу основную цель. Обратите внимание, что если вы не создаете новую цель и просто добавляете фазу сборки «Выполнить сценарий» к своей основной цели, сохранение кажется слишком поздним.

Надеюсь, это поможет!

1 голос
/ 16 октября 2009

Я думаю, что это связано с настройками xCode.

См. «XCode» -> «Настройки» -> «Сборка» -> «Для несохраненных файлов» -> опция

1 голос
/ 16 октября 2009

До SnowLeopard IB автоматически сохранял мои изменения при сборке. Теперь я должен сохранить вручную, иначе он не использует мои последние изменения. Кроме того, IB не поддерживает и не обновляет свое меню «Открыть недавние» (оно пустое). Посоветуйтесь со своим другом, чтобы узнать, работает ли он на SnowLeopard с Xcode 3.2.

1 голос
/ 16 октября 2009

Возможно, установка не распространяется должным образом при установке или обновлении. Вы пытались выключить параметр «Для несохраненных файлов»? (XCode -> Настройки -> Сборка)

1 голос
/ 15 октября 2009

Не уверен, но у вас установлены самые последние версии сред разработки Apple? Мой был предустановлен.

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