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?
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:
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:
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.
Cela a fonctionné pour moi:
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 :)
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.
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)
}
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
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
use_frameworks!
pod update
La mise à jour des cocoapodes sur Mac, avec la commande suivante, a résolu ce problème partiellement pour moi:
Sudo gem install cocoapods
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!
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.
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.