ios - Interface Builder-Falha ao carregar designáveis do caminho(nulo)




interface-builder xcode6 (8)

Editar**

Abra o Xcode (mas não abra o seu projeto) e clique em Window (segundo da direita)

Clique em Organizador, verifique se você está em Projetos e exclua todos os dados derivados. Feche o Xcode e, em seguida, reabra o seu projeto, deixe o Xcode indexar novamente seus arquivos e veja se isso resolve o problema

Eu tenho alguns controles personalizados que eu criei e eles estão usando em um novo projeto. No entanto, continuo recebendo erros no criador de interface:

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

ou

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

Testei os controles em outro projeto e eles parecem renderizar corretamente no construtor de interface, mas não consigo fazê-los funcionar no projeto atual. O que causa esse erro e como posso corrigi-lo?

Desde já, obrigado...



Estou executando o Xcode 7.3 e o erro desapareceu magicamente seguindo estas etapas que, no final, deixaram meu projeto no estado exato em que estavam antes de seguir essas etapas (ou seja, uma alteração líquida zero para qualquer coisa):

  1. Adicione 'use_frameworks!' (sem os apóstrofes, é claro) ao seu podfile
  2. Abra uma janela do terminal
  3. cd para o diretório raiz do seu projeto
  4. Execute 'pod install' na linha de comando
  5. Remova o 'use_frameworks!' do seu podfile
  6. Execute 'pod install' novamente
  7. Tente criar novamente e veja se isso corrige o erro; fez por mim

Parece um daqueles obstáculos ocasionais do Xcode que já vimos antes, especialmente quando você está com pressa de fazer outra coisa.


Eu não estava usando vagens de cacau, mas obtendo esse erro em um controlador de exibição estendendo uma classe importada. Eu estava recebendo esse erro apenas ao alterar o StoryBoard para a exibição IphoneX, estava funcionando bem na exibição do iPhone 8.

Alterei as configurações do projeto de New Build System (Preview) para Standard Build System, depois limpe o projeto e o erro desapareceu.

Não sei por que, mas isso resolveu o problema para mim.


Eu tive o mesmo problema. Eu uso cocoapods e há um pod que usa designáveis. Portanto, o truque foi adicionar 'use_frameworks!' para o Podfile. faça uma 'atualização do pod' reabra o projeto xcode e a mensagem de erro não deve aparecer.


Há um truque muito útil que você pode fazer para depurar a renderização ao vivo.

1) Adicione esta extensão ao seu projeto:

    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) Adicione um liveDebugLog(message:) e coloque o que quiser saber. 3) Abra Terminal.app e execute o comando open /tmp/XcodeLiveRendering.log

Feito!

Créditos para Morten Bøgh


Não uso CocoaPods, mas uso uma estrutura interna que contém itens do IBDesignable e também estava com esse problema. Limpei, excluí os Dados Derivados do meu projeto principal e reiniciei o Xcode, mas isso não pareceu corrigi-lo. Para resolvê-lo, tive que ir para Janela> Projetos, selecionar o projeto de estrutura (não o projeto que usou a estrutura, mas o próprio projeto de estrutura) e excluir os Dados Derivados. Então, etapas completas:

  1. Menu do produto> Limpar
  2. Mantenha pressionada a opção> menu Produto> Limpar pasta de criação ...> Limpar
  3. Menu Janela> Projetos> Escolha o meu projeto do Framework> Excluir dados derivados
  4. Menu Janela> Projetos> Escolha meu projeto principal> Excluir dados derivados
  5. Sair do Xcode
  6. Reinicie o Xcode

Repita a etapa 3 para todo e qualquer projeto de estrutura que tenha o IBDesignables e possa estar causando os erros.


O problema era que o IB_DESIGNABLE dos cocoapods não está vinculado corretamente quando o construtor de interface processa suas visualizações.

O use_frameworks! o truque deveria fazer isso, mas para mim foi um esforço demais demais para migrar o código.

Meu truque era subclassificar todas as visualizações IB_DESIGNABLE que eu usei no storyboard que vieram direto dos pods. Resolvidos os erros.





ibdesignable