Ich sehe diesen Fehler für ein XIB. Aber alles andere wird kompiliert und es scheint keinen Schaden durch diesen Fehler zu geben. Muss ich mir darüber Sorgen machen? Was ist das Problem hier und wie würde ich das beheben?
UPDATE: Ich habe Cocoapods auf die neueste Version (0.36.3) aktualisiert und während dies das Problem für einige Kompilierungen behoben hat, ist der Fehler zurückgekehrt und ich sehe jetzt einen zusätzlichen Fehler:
Antworten:
Es ist ein bekanntes Problem in CocoaPods. Es wurde in Version 0.36.1 behoben . Aktualisieren Sie einfach Ihre CocoaPods und fügen Sie Ihrer Pod-Datei eine bestimmte Codezeile hinzu: use_frameworks! nach Plattform: ios, '7.0'
Ihre Datei sieht also folgendermaßen aus:
platform :ios, '7.0' use_frameworks! /// here will be dependencies etc. ///
Aktualisiert:
Vollständige Liste der Schritte, um das Problem ein für alle Mal zu beseitigen:
pod update
;quelle
Nachdem ich einige Nachforschungen angestellt und gegraben habe, kann ich bestätigen, dass es keine Möglichkeit gibt, dieses Problem zu lösen.
Dies ist ein Xcode-Fehler.
Das ist alles. Wir müssen auf das Update warten.
Starten Sie den Xcode einfach neu .
quelle
Das hat bei mir funktioniert:
quelle
2016 ist das Jahr, xCode 7.3.1: Ich habe diesen Fehler erhalten. (Verwenden von Kakaofrüchten 1.0, aber es spielt keine Rolle)
URSACHE: In IB wurde eine spezielle UILabel-Unterklasse verwendet. eine Glocke läuten?
ELEGANTE LÖSUNG:
1: Unterklasse TTTAttributedLabel oder FXLabel oder was auch immer du hast. Verwenden Sie das in IB.
2: Fügen Sie diese Zeilen in die untergeordnete .h-Datei ein:
#ifndef IB_DESIGNABLE #define IB_DESIGNABLE #endif @class LabelFromPod; IB_DESIGNABLE @interface YourLabel : LabelFromPod { ... }
3: Dann müssen Sie das Projekt löschen, xCode beenden, neu erstellen (übliches xCode-Panikprotokoll) und das Problem wird behoben sein.
UPDATE 2017 xCode 8.2.1: Es wird alles schlimmer :( Das leere VC-Problem: Der IB lädt nicht einmal die UI-Elemente für View-Controller mit diesen IB_DESIGNABLEs. Ich bin ahnungslos :)
quelle
Ich hatte das gleiche Problem mit TTTAttributedLabel und folgte Andreys Antwort, um zu versuchen, es zu beheben. Der Build war erfolgreich, aber danach scheinen die Bundle-Dateien anderer Pod-Module (in meinem Fall TSMessage, SVProgressHUD) nicht geladen werden zu können. Dies wird auch im Cocoapods-Blogbeitrag angegeben, und ich möchte die Bundle-Ressourcen nicht in das mainBundle verschieben (und ich habe nicht überprüft, ob dies funktioniert.)
Daher entscheide ich mich, TTTAttributedLabel aus der Poddatei zu entfernen und nur die Quelle direkt einzuschließen, um diesen Fehler zu beseitigen. Das funktioniert bei mir und ich hoffe, es ist auch eine andere Antwort auf dieses Problem.
quelle
Es mag spät sein, aber das Hinzufügen dieser Codes zur Initialisierung hat bei mir funktioniert, als ich dieses Problem bekam
required override init(frame: CGRect) { super.init(frame: frame) } required init?(coder aDecoder: NSCoder) { super.init(coder: aDecoder) }
quelle
Ich hatte das gleiche Problem wie bei der Verwendung der benutzerdefinierten Ansicht von POD im Storyboard.
Die folgenden Schritte haben das Problem für mich behoben
use_frameworks!
pod update
quelle
In
Podfile
hinzufügen , um dieses Skript am Ende und führtepod install
wieder.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
quelle
Das Aktualisieren von Cocoapods in Mac mit dem folgenden Befehl löste dieses Problem teilweise für mich:
sudo gem install cocoapods
quelle
Das Problem könnte sein, dass Sie ein Framework oder eine benutzerdefinierte UILabel-Klasse verwendet haben. wie MarqueLabel oder TTTAttributed Label. Kommentar
#use_frameworks
in der Pod-Datei auskommentieren . Ausführenpod update
. Bereinigen und erstellen Sie Ihr Projekt neu. Dies wird Ihr Problem lösen.quelle
Ich hatte einen ähnlichen Fehler, als ich ihn benutzte
Cocoapods
und nicht konnteuse_frameworks!
. Ich landete durch einen Rahmen gabeln, dass AnwendungenIBDesignable
undIBInspectable
und diese Keywords zu entfernen. Alle Anpassungen erfolgen programmgesteuert: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 } }
Es funktioniert und erzeugt keine Fehler mehr im Interface Builder. Es ist jedoch schade, dass ich diese Problemumgehung durchführen musste.
quelle
Entfernen Sie das, was Sie in der Poddatei haben, und geben Sie die Quelle direkt an, um dieses Problem zu beheben.
Für mich geht das!
quelle
Ich bin mit diesem Problem konfrontiert, wenn sowohl die Basisklasse als auch die untergeordnete Klasse als @IBDesignable-Klasse erwähnt werden. Erkundigen Sie sich möglicherweise bei der Klasse eines Drittanbieters und Ihrer Klasse, ob diese vererbt wurde
quelle