Раньше это тоже работало без нареканий, но перестало работать с 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 и затем компилирует вашу основную цель.
Обратите внимание, что если вы не создаете новую цель и просто добавляете фазу сборки «Выполнить сценарий» к своей основной цели, сохранение кажется слишком поздним.
Надеюсь, это поможет!