2013-07-05 8 views
2

Я столкнулся с небольшим осложнением проекта и нуждаюсь в некоторой помощи.com.apple.InterfaceBuilder error -1. Раскадровка не может быть открыта

Недавно я приобрел Mac Mini и хочу начать работу над некоторыми из моих проектов приложений. Поэтому я скопировал файлы с одной машины на другую. На обоих компьютерах установлена ​​версия XCode версии 4.6.3. Из 5 проектов, скопированных, 4 из них подошли просто отлично. Тем не менее, пятый (и, естественно, тот, который я хотел бы продолжить) не может открыть файл раскадровки. Я получаю следующее сообщение об ошибке при нажатии на файл раскадровки в моем проекте:

Невозможно открыть документ «MainStoryboard.storyboard». Операция не может быть завершена. (com.apple.InterfaceBuilder error -1.)

Просмотрите журнал консоли для получения дополнительной информации.

Я знаю о другой теме, расположенной здесь: Cannot open storyboard (com.apple.InterfaceBuilder error -1.), которая пытается справиться с этой проблемой, однако у меня есть несколько другой набор переменных. Я единственный разработчик, который работал над моими проектами. Я никогда не пытался копировать или перемещать свои приложения из мест расположения папок, пока эта копия не попытается использовать другую машину. Также некоторое время назад в проекте, я помню, что я случайно удалил файл Storyboard и должен был выкопать его из мусора и вставить его в проект. Не уверен, что это то, что вызывает мою текущую проблему или нет, но подумал, что стоит упомянуть.

Итак, мои вопросы таковы; кто-нибудь знает, что вызывает эту ошибку раскадровки и как я могу ее исправить, чтобы я мог работать над своими проектами на других компьютерах?

Спасибо за рекомендации!

ответ

4

Эта ошибка может возникать при использовании дополнительного, но не установленного шрифта. Установите этот шрифт и снова откройте раскадровку.

+0

Спасибо AppAnDev! Это именно то, что проблема, и она никогда не возникала для меня. Я закончил установку шрифта, который я вызывал в приложении, и это устранило проблему несколько дней назад, но я ждал, чтобы определить, было ли это окончательное решение перед публикацией. – Slider257

+0

Спасибо, вы спасли мой день ... –

+0

Проблема возникает, когда вы используете в MainStoryboard атрибутированные строки и используете там не по умолчанию Font – Nazir

0

Я бы предположил, что местоположение файла проекта, вероятно, не совпадает с тем, которое вы скопировали. Это может произойти легко, если вы вытащите файл извне своих каталогов проектов. Быстрое пересоединение вручную может быть выполнено следующим образом:

  1. Найти файл в Навигаторе проектов. Щелкните его правой кнопкой мыши (или эквивалентом) и выберите «Удалить». В появившемся всплывающем окне выберите «Удалить ссылку».
  2. В «Навигаторе проектов» щелкните правой кнопкой мыши папку, в которой ранее был указан этот файл, и выберите «Добавить файлы» в «Название вашего проекта». Отследите местоположение файла и добавьте его. Он должен появиться в Навигаторе проектов еще раз.
+0

Эй, клен, спасибо за информацию. К сожалению, это не устранило проблему, которая все еще имеет место. – Slider257

0

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

<activityIndicatorView hidden="YES" opaque="NO" contentMode="scaleToFill" horizontalHuggingPriority="750” verticalHuggingPriority="750" hidesWhenStopped="YES" style="gray" id="XNx-FL-WkR"> 
    <rect key="frame" x="15" y="80" width="20" height="20"/> 
    <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/> 
</activityIndicatorView> 

Когда я удалил эти строки XML и переключился обратно в режим интерфейса Builder, XCode удален выход индикатора был подключен к (только одной линии).

Надеюсь, что кто-то поможет! Я обновлю свой ответ, если найду объяснение, почему это устранило проблему для меня.

13

Если ошибка была после git merge, то я предлагаю вам очистить inferredMetricsTieBreakers на вашем Storyboard дне.

  1. Открыть Раскадровка в Source Code(что еще можно сделать?)
  2. найти inferredMetricsTieBreakers блок
  3. удалить все <segue reference=""/>
  4. Открыть раскадровки в Interface Builder - Storyboard
  5. прибыли!
+3

wow! дайте этому парню медаль! : D удаление всех 'inferredMetricsTieBreakers' сделал это для меня! – nburk

+0

Это исправлено для меня. Похоже на плохие ссылки на идентификаторы segue. – Chris

+0

Awesome, Это сработало для меня тоже :), спасибо Tuss László – Sadia

Смежные вопросы