2015-02-08 6 views
49

У меня есть некоторые настраиваемые элементы управления, которые я создал, и я использую их в новом проекте. Тем не менее, я продолжаю получать ошибки в интерфейсе строителя:Интерфейс Builder - Не удалось загрузить конструктивные элементы из пути (null)

Failed to update auto layout status: Failed to load designables from path (null) 

или

Failed to render instance of <control>: Failed to load designables from path (null) 

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

Заранее спасибо ...

+0

Использует ли ваш проект CocoaPods? – HEATH3N

+0

@ N1ghtshade3 У меня такая же проблема, и элемент управления, с которым я столкнулся, связан не с зависимостью CocoaPods. –

+0

Я тоже не пользуюсь CocoaPods, но я видел сообщение CocoaPods. Я думаю, CocoaPods нашел решение этой проблемы, но, к сожалению, я не могу найти его нигде! – Jake

ответ

57

Я была такая же проблема. Я использую cocoapods, и есть стручок, который использует условные обозначения. Итак, трюк заключался в том, чтобы добавить «use_frameworks!» в Подфайл. сделать обновление «pod update» повторно открыть проект xcode, и сообщение об ошибке не должно появляться.

+0

Исправлена ​​проблема. –

+0

Это не относится к ios 7+, так как оно ломает многие библиотеки, такие как Realm. – Dvole

+0

Я тестировал iOS 8 и iOS 9, и это работает для меня. – Chuck

11

Edit **

Открыть Xcode (но не открыть свой проект) и нажмите на окно (второй справа)

Нажмите Organizer и убедитесь, вы работаете над проектами, а затем удаляете все полученные данные. Закройте Xcode, а затем снова запустите проект и позвольте Xcode повторно индексировать ваши файлы и посмотреть, устраняет ли это проблему.

+0

Я пробовал все это и все еще имею ту же ошибку при добавлении IB_Designable и IBInspectable назад к классам – Jake

+0

Кажется, не работает для меня. –

+0

проверить мои изменения и посмотреть, поможет ли это. –

1

Я не уверен, что это решает вашу проблему, поскольку я не могу ее воспроизвести. Но я думал, что ты все равно попробуй.

Во-первых, как уже упоминалось, похоже, что у CocoaPods была та же проблема. Я прошел через коммиты, которые внесли свои исправления, но без результата, связанного с вашей настройкой.

Однако в этом StackOverflow question было найдено другое связанное сообщение об ошибке, которое также было связано с тем, что IB не нашел на пути. Я задавался вопросом, может ли их решение помочь вам:

Решение должно было быть $(CONFIGURATION_BUILD_DIR) в поле цели Build settingsRunpath Search Paths.

1

Есть очень удобный трюк, который вы можете сделать для отладки живого рендеринга.

1) Добавить это расширение для вашего проекта:

extension UIView { 
    public func liveDebugLog(message: String) { 
     #if !(TARGET_OS_IPHONE) 
      let logPath = "/tmp/XcodeLiveRendering.log" 
      if !NSFileManager.defaultManager().fileExistsAtPath(logPath) { 
       NSFileManager.defaultManager().createFileAtPath(logPath, contents: NSData(), attributes: nil) 
      } 

      var fileHandle = NSFileHandle(forWritingAtPath: logPath) 
      fileHandle.seekToEndOfFile() 

      let date = NSDate() 
      let bundle = NSBundle(forClass: self.dynamicType) 
      let application: AnyObject = bundle.objectForInfoDictionaryKey("CFBundleName") 
      let data = "\(date) \(application) \(message)\n".dataUsingEncoding(NSUTF8StringEncoding, allowLossyConversion: true) 
      fileHandle.writeData(data) 
     #endif 
    } 
    } 

2) Добавить liveDebugLog(message:) и положить все, что вы хотите знать. 3) Открыть Terminal.app и выполнить команду open /tmp/XcodeLiveRendering.log

Done!

Кредиты Morten Bøgh

2

Эта проблема исправлена ​​в последней версии Cocoapods

Для установки просто запустите:

[sudo] gem install cocoapods --pre 

Для того, чтобы исправить ошибку: "Не удалось загрузить designables из пути (NULL)":

use_frameworks! 

    pod '****' 



end 

Добавить use_frameworks! Вам Podfile

Find мор e: Live Rendering a custom component using IB_DESIGNABLE from a pod dependency

1

У меня была такая же проблема на проекте, отличном от CocoaPods, с пользовательскими IBDesignable видами. По-видимому, это ошибка Xcode. Шаги в this answer помогли мне решить проблему. Короче говоря:

  1. Выйти Xcode.
  2. Убейте все процессы с именем Interface Builder Cocoa Touch Tool на вашем компьютере.
  3. Запустите Xcode снова.
4

Я запускаю Xcode 7.3 и получил ошибку, чтобы волшебным образом исчезнуть, выполнив следующие шаги, которые в конце концов оставили мой проект в точном состоянии, которое было до выполнения следующих шагов (т.е. изменение на что угодно):

  1. Добавить 'use_frameworks!' (Без апострофов, конечно) к вашему podfile
  2. Откройте окно терминала
  3. кд в корневой директории вашего проекта
  4. «стручок установить» Run из командной строки
  5. Удалите 'use_frameworks! from your podfile
  6. Запустить 'pod install' снова
  7. Попробуйте снова построить и посмотреть, исправляет ли это ошибку ; это сделало для меня

Похож на один из тех случайных кодовых пробок Xcode, которые мы все видели раньше, особенно когда вы спешите что-то сделать.

+0

Работал отлично! Спасибо за сверхчистые, подробные инструкции (другие упоминали 'use_frameworks!', Но никто не упоминал об удалении после этого и оставил его в вызванных проблемах с другими моими блоками). –

1

Я не использую CocoaPods, но я использую внутреннюю структуру, содержащую элементы IBDesignable, и также испытывал эту проблему. Я очистил, удалил Derived Data из моего основного проекта и перезапустил Xcode, но, похоже, не исправил его. Чтобы решить эту проблему, мне пришлось перейти в Window> Projects, выбрать проект framework (а не проект, который использовал фреймворк, а скорее сам проект фреймворка) и удалить Derived Data. Таким образом, полные шаги:

  1. меню продукции> Чистые
  2. Удерживайте Option> меню продуктов> Clean Folder Сложение ...> Clean
  3. меню Window> Проекты> Выбрать мой рамочный проект> Удалить Derived Data
  4. меню Window> Проекты> Выбрать мой основной проект> Удалить производные данные
  5. Выход Xcode
  6. Restart Xcode

Повторите шаг 3 для любых и всех инфраструктурных проектов с IBDesignables и может вызывать ошибки.

1

я решил эту проблему путем обновления стручка «обновления стручка» надеется, что он будет работать для вас

0

Вопросов, что IB_DESIGNABLE из cocoapods не связаны правильно, когда интерфейс строитель сделать ваши взгляды.

use_frameworks! трюк должен сделать это, но для меня это было просто слишком много усилий для переноса кода.

Мой трюк был подкласс каждый IB_DESIGNABLE вид Я использовал в раскадровке, которая вышла прямо из стручков. Исправлены ошибки.

0

Эта ошибка появилась, когда я обновил контейнеры, пока xcode и мой проект были открыты.

I shut the xcode down. ran the pod update again. restarted xcode.

ошибка больше не отображается.

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

  • Нет связанных вопросов^_^