Il mio progetto corrente contiene sia il codice Swift che il codice Objective-C. Entrambi i tipi di file sorgente utilizzano il codice dell'altro linguaggio. Quando faccio una pulizia completa e ricompilare, ottengo errori in quasi ogni singola dichiarazione della classe Swift in Module-Swift.h
, della forma:'Impossibile trovare la dichiarazione dell'interfaccia' nell'intestazione del collegamento rapido Swift generata automaticamente
Cannot find interface declaration for 'UIViewController', superclass of 'CustomViewController'
I miei sintomi sono simili a this question, in circostanze analoghe a this question. In altre parole:
Module-Bridging_Header.h
importa mio header Objective-C,Class.h
- Il file di implementazione
Class.m
importa l'intestazione Swift,Module-Swift.h
Se seguo l'approccio nei ansewrs per this question, I può risolvere l'errore aggiungendo il seguente file e importandolo al posto di Module-Swift.h
:
//
// Module-Swift-Fixed.h
// Module
//
#ifndef Module_Swift_Fixed_h
#define Module_Swift_Fixed_h
#import <Foundation/Foundation.h>
#import <CoreData/CoreData.h>
#import <UIKit/UIKit.h>
#import "Module-Swift.h"
#endif /* Module_Swift_Fixed_h */
Questo sembra un orribile hack. Mi manca un modo corretto per ottenere questo in Xcode?
Sei in Swift 2.0? Non sembra essere un problema con Xcode 7. Se lo sei, puoi pubblicare il progetto? – SwiftArchitect
Ho avuto un problema simile. La mia (leggermente migliore?) Hack è stata quella di aggiungere l'importazione mancante all'intestazione del bridging. –