Мертвая блокировка происходит, когда два потока aquire блокировки, которые препятствуют тому, чтобы любой из них прогрессировал. Лучший способ избежать их с тщательной разработкой. Много встроенных систем защищают от них при помощи сторожевого таймера (таймер, который сбрасывает систему каждый раз, когда, если она зависает в течение определенного периода времени).
Получите "iphonesim" с открытым исходным кодом, и он сделает это за вас: http://github.com/jhaynie/iphonesim/
Он небольшой, написан на языке C и, кажется, отлично работает из командной строки.
В этой теме рассказывается, как это сделать вручную, вы также сможете автоматизировать этот процесс:
Могу ли я установить приложение в симулятор без исходного кода?
Похоже, что использование флага -sdk iphonesimulator3.0 с xcodebuild должно генерировать файлы .sb, но это, похоже, не работает. Может это невозможно?