У меня было именно то поведение, которое вы описали: работает на симуляторе, но при запуске на устройстве появляется сообщение «Не удалось загрузить NIB в комплекте», а приложение остается застрявшим на образе запуска.
В моем случаепроблема была в файле MainWindow.xib, который Xcode автоматически создал с английской локализацией.Я поддерживаю английский и итальянский языки в своем приложении и понял, что мне не хватает локализованной версии MainWindow.xib для итальянского языка.
Поскольку мне не нужно было локализовать этот файл (это Xcode по умолчанию для его локализованного созданияЯ исправил проблему, просто удалив английскую локализацию, поэтому один и тот же файл используется независимо от локализации.Другой способ решить эту проблему - добавить недостающую локализованную версию, если она вам нужна.
Приложение зависало на устройстве, поскольку мое устройство настроено на итальянский язык.Вместо этого симулятор был установлен на английский язык, и поэтому приложение работает правильно.Просто чтобы проверить, я установил симулятор на итальянский язык, и приложение упало, подтверждая проблему локализации.