2014-09-10 6 views
11
UIPanGestureRecognizer *pan = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(panGestureRecognized:)]; 

Dieser Code für jeden Simulator in Xcode kompilieren 5,Xcode 6 GM Version, iPhone 6 Simulator, keine sichtbare @interface für 'UITapGestureRecognizer spricht der Wähler 'initWithTarget: Aktion:'

aber in Xcode 6, kann es nur für Simulatoren mit 32-Bit-CPUs (iPhone 5 und unter) kompilieren,

wenn für Simulatoren mit 64-Bit-CPUs (iPhone 5s, iPhone 6, iPhone plus) kompilieren, Compiler sagt:

nicht sichtbar @ Schnittstelle f oder "UITapGestureRecognizer spricht der Selektor 'initWithTarget: Aktion:'

Aber ich habe sie importiert <UIKit/UITapGestureRecognizer>

Was ist das Problem?

+0

Ändert '@import UIKit;' dieses Verhalten? – quellish

+0

@quellish es nicht. – CarmeloS

+0

Ich habe die 64-Bit-Simulator-Binärdatei für UIKit zerlegt und die Symbole sind definitiv da. initWithTarget: action: wird von UIGestureRecognizer übernommen. Wenn Sie nicht alle Elemente von UIKit einschließen, die Ihr Problem möglicherweise erklärt haben, aber der @ import hätte das behoben. Das Problem liegt möglicherweise bei etwas in Ihrer Build-Konfiguration. – quellish

Antwort

22

Versuchen Product>Clean Menü zuerst. (Dh Befehl + Verschiebung + k)
Wenn es wird nicht helfen, mit Option Schlüssel, Product>Clean Build Folder... (dh Option + Befehl + Verschiebung + k).
Endlich entfernen Sie alle abgeleiteten Datenverzeichnis mit rm -rf ~/Library/Developer/Xcode/DerivedData/.

Ich denke, ~/Library/Developer/Xcode/DerivedData/ModuleCache/* gemacht mit alten (Xcode5) SDK verursacht dieses Problem.

+0

Danke, diese Schritte in der Tat geholfen, das Problem zu lösen –

+0

Entfernen der abgeleiteten Daten-Verzeichnis hat den Trick. – manecosta

+0

Weiß jemand, warum das passiert? Ich sehe es immer noch von Zeit zu Zeit, vor allem wenn ich auf einem Xcode-Server laufe und die Testkonfiguration erstelle. Wirklich nervig, möchte dem auf den Grund gehen. – czechboy

1

Ich habe mein Xcode 5 Bundle entfernt und meinen Mac neu gestartet, dann funktioniert es magisch jetzt, aber ich weiß immer noch nicht den Grund.

+0

Ich löschte meine alte Version von Xcode vor der Installation der GM, immer noch dies zu sehen ... –

3

Für mich begann dies, wenn ich auf xCode GM aktualisiert, und nur wenn 5s, 6, 6+ Simulator ausgewählt ist. Allen anderen geht es gut. Entfernen ~/Bibliothek/Entwickler/Xcode/DerivedData/ModuleCache löste es für mich

0

Keine der oben genannten Cache-Reinigung Tricks geholfen. Aber als ich das Bereitstellungsziel auf weniger als iOS 8.1 änderte, ging der Fehler verloren.

Verwandte Themen