Pesquisar

quinta-feira, 30 de agosto de 2018

IBDesignable não funciona no meu framework com CocoaPods



É muito comum em um projeto iOS o desenvolvedor utilizar alguma biblioteca/framework de terceiro ou próprio para facilitar o desenvolvimento da aplicação.

Recentemente passei por um problema com um framework de UI que desenvolvi utilizando o IBDesignable — se você não conhece esse termo, dá uma olhada nesse link aqui. O problema ocorre quando usamos o CocoaPods junto ao Xcode 9.3, resultando em um erro do tipo:



Esse problema ocorre quando o Xcode tenta desenhar o componente na IDE.

O erro foi reportado por sinoru para o time do CocoaPods e você pode visualizar aqui #7606. A justificativa é que o macOS necessita assinar o código que vai ser "executado", nesse caso o código com IBDesignable e como ele não está assinado, ocorre esse erro.

Você pode resolver isso, inserindo o seguindo comando no final do seu Podfile:



Atualmente o CocoaPods inseri os valores NO em CODE_SIGNING_ALLOWED e CODE_SIGNING_REQUIRED nos pods:



Já foi feito um PR por sinoru para não inserir essas duas configurações ao executar o comando pod e você pode acompanhar aqui #7640. Isso foi suficiente para resolver o problema que tive.