web-dev-qa-db-fra.com

Designables IB: Impossible de mettre à jour le statut de présentation automatique: Impossible de charger les designables à partir du chemin

Je vois cette erreur pour un XIB. Mais tout le reste est compilé et cette erreur ne semble pas causer de dommages. Est-ce quelque chose dont je dois m'inquiéter? Quel est le problème ici et comment pourrais-je résoudre ce problème? 

enter image description here

UPDATE: J'ai mis à jour les cocoapodes avec la dernière version (0.36.3) et, bien que cela ait résolu le problème pour quelques compilations, l'erreur est revenue et une erreur supplémentaire s'affiche:

enter image description here

71
Oren

C'est un problème connu dans CocoaPods . Il a été corrigé dans la version 0.36.1 . Mettez simplement à jour vos CocoaPods, puis ajoutez une ligne de code spécifique à votre fichier pod: use_frameworks ! after plateforme: ios, '7.0'

Donc, votre fichier ressemblera à ceci:

platform :ios, '7.0'

use_frameworks!

/// here will be dependencies etc. ///

mis à jour:

Liste complète des étapes pour éliminer le problème une fois pour toutes:

  • Fermer le projet 
  • ouvrez Terminal App;
  • Mettre à jour CocoaPods lui-même pour ver. 0.36.1 - vous l'avez déjà fait - vous pouvez sauter l'étape cette fois; 
  • accédez au dossier de votre projet dans Terminal; 
  • type: "pod update" (sans guillemets);
  • attendre la fin de la mise à jour;
  • Ouvrez votre projet en xCode;
  • Projet propre;
  • Construire le projet à nouveau.
73

Après des recherches et des recherches, je peux confirmer qu’il n’ya aucun moyen de résoudre ce problème. 

Ceci est un bug d'un Xcode.  

C'est tout. Nous devons attendre la mise à jour.

Juste redémarrez le Xcode pour le moment.

30

Cela a fonctionné pour moi:

  1. supprimer les données dérivées (préférences> emplacements)
  2. redémarrer Xcode
  3. projet propre (produit> nettoyage)
14
Wojtek Dmyszewicz

2016 est l'année, xCode 7.3.1: J'ai eu cette erreur. (Utiliser des gousses de cacao 1.0 mais peu importe)

CAUSE: une sous-classe spéciale UILabel a été utilisée dans IB. sonner une cloche?

SOLUTION ÉLÉGANTE:

1: Sous-classe TTTAttributedLabel ou FXLabel ou tout ce que vous avez. Utilisez cela dans IB.

2: Ajoutez ces lignes dans le fichier .h sous-classé:

#ifndef IB_DESIGNABLE
#define IB_DESIGNABLE
#endif

@class LabelFromPod;


IB_DESIGNABLE @interface YourLabel : LabelFromPod {
 ...
}

3: alors je pense que vous devez effacer le projet, quitter xCode, reconstruire (protocole de panique xCode habituel) et le problème disparaîtra.

MISE À JOUR 2017 XCode 8.2.1: Cela ne fait qu'empirer :( Problème vierge VC: l'IB ne charge même pas les éléments d'interface utilisateur d'un contrôleur de vue doté de ces IB_DESIGNABLE. Je suis Aucune idée :)

11
Jaro

J'ai rencontré le même problème en utilisant TTTAttributedLabel et j'ai suivi la réponse d'Andrey pour essayer de le réparer. La construction a réussi, mais après cela, il semble que les fichiers de regroupement d'autres modules de pod (TSMessage, SVProgressHUD dans mon cas) ne puissent pas être chargés. Ceci est également indiqué dans le blog de Cocoapods et je ne veux pas déplacer les ressources du bundle vers le mainBundle (et je n’ai pas vérifié si cela fonctionne.)

Par conséquent, je choisis de supprimer TTTAttributedLabel du fichier podfile et d’inclure directement le source pour supprimer cette erreur. Cela fonctionne pour moi et j'espère que c'est aussi une autre réponse à ce problème.

8
redcomethk

Peut-être en retard, mais l'ajout de ces codes d'initialisation a fonctionné pour moi quand j'ai eu ce problème

required override init(frame: CGRect) {
    super.init(frame: frame)
}

required init?(coder aDecoder: NSCoder) {
    super.init(coder: aDecoder)
}
5
Han Daniel

Dans Podfile, ajoutez ce script à la fin et exécutez à nouveau pod install.

post_install do |installer|
    installer.pods_project.build_configurations.each do |config|
        config.build_settings.delete('CODE_SIGNING_ALLOWED')
        config.build_settings.delete('CODE_SIGNING_REQUIRED')
    end
end
1
Haroldo Gondim

J'avais le même problème en utilisant une vue personnalisée de POD sur le storyboard.

Faire les choses suivantes a résolu le problème pour moi

  • Ajoutez la ligne suivante (Pour activer le POD dans un cadre dynamique) sur le module use_frameworks!
  • Faire pod update
  • Redémarrer le Xcode
1
Durai Amuthan.H

La mise à jour des cocoapodes sur Mac, avec la commande suivante, a résolu ce problème partiellement pour moi:

Sudo gem install cocoapods
0
KawaiKx

Supprimez ce que vous avez dans le fichier podfile et incluez simplement la source directement pour résoudre ce problème.

Ça marche pour moi!

0
Sunil Targe

J'avais un bogue similaire quand j'utilisais Cocoapods et que je ne pouvais pas use_frameworks!. J'ai fini par forger un cadre qui utilise IBDesignable et IBInspectable et en supprimant ces mots-clés. Toute la personnalisation est faite par programme:

class CardFloatingLabelTextField: SkyFloatingLabelTextField {

    required init?(coder aDecoder: NSCoder) {
        super.init(coder: aDecoder)

        self.errorMessage = nil
        self.titleFont = UIFont.systemFont(ofSize: 11)
        self.titleFormatter = { (text: String) in return text }
        self.titleColor = UIColor.channelsColorGrayFootnoteAndCaptions()
        self.selectedTitleColor = UIColor.channelsColorGrayFootnoteAndCaptions()
        self.lineColor = UIColor.channelsColorGrayContentAndLines()
        self.selectedLineColor = UIColor.channelsColorDarkBlue()
        self.lineHeight = 1
        self.selectedLineHeight = 1

    }

}

Cela fonctionne et ne crée plus de bogues dans Interface Builder. Cependant, c'est dommage que j'ai dû faire cette solution de contournement.

0
wzbozon

Le problème peut être que vous avez utilisé un framework ou une classe UILabel personnalisée . Telle que MarqueLabel ou TTTAttributed Label . Uncomment #use_frameworks dans le fichier pod. Exécutez pod update. Nettoyez et reconstruisez votre projet . Cela résoudra votre problème.

0
Ashish Pisey