2015-05-21 9 views
7

Ho un progetto che utilizza CocoaPods e utilizza il pod 'SCLAlertView-Objective-C'. Questo pod utilizza l'importazione di stile del modulo @import UIKit;. Ho impostato "Enable Modules (C & Objective-C)" e "Link Frameworks Automaticamente" su SÌ in entrambe le impostazioni di destinazione e di progetto. Ricevo ancora l'errore "Uso di '@import' quando i moduli sono disabilitati"."Uso di '@import' quando i moduli sono disabilitati" Errore - Abilita Moduli e Link Framework = SI

C'è qualcosa che potrebbe impedire a Xcode di essere in grado di abilitare moduli come l'uso di un file .pch, qualsiasi flag del linker o qualcos'altro che non ho menzionato? Ho anche provato a pulire il progetto e la cartella di costruzione del progetto. Questo non ha avuto alcun effetto.

Da notare anche che il mio progetto ha più destinazioni e ha anche un obiettivo di distribuzione di iOS 7.0. My Base SDK è impostato su iOS 8.3.

Screenshot of target build settings for modules

+0

Hai trovato una soluzione? Ho lo stesso problema con Google Analytics. Grazie in anticipo! –

risposta

6

immagino il progetto contiene file XXX.mm, tuttavia, l'Xcode permette solo C e Objective-C moduli.

Si prega di dare un'occhiata a questa risposta per il vostro riferimento: Using @import in objective C in conjunction with __cplusplus

la mia soluzione è modificare il xxx @import in #import.

Buona fortuna.

+0

Sebbene questo collegamento possa rispondere alla domanda, è meglio includere qui le parti essenziali della risposta e fornire il link per riferimento. Le risposte di solo collegamento possono diventare non valide se la pagina collegata cambia. –

+0

Sì, funziona solo #import. Impossibile recuperare i moduli a causa dello stesso errore descritto qui. #import funziona – Alex

4

Ho appena risolto questo problema in un progetto ObjC++ principalmente su cui stavo lavorando e che era necessario utilizzare Firebase.

È sufficiente creare un file ObjC (.m) che contenga quanto segue.

#import <Foundation/Foundation.h> 
@import Firebase; // << swap this for your specific import 

Questo è tutto, quindi è sufficiente utilizzare #include nei file di .mm per le intestazioni specifiche necessarie. Per me questo significava:

#include <"Firebase/Firebase.h"> 
#include <"FirebaseAuth/FirebaseAuth.h"> 

Proprio per sottolineare il punto, nessuna quantità di giocherellare con le opzioni di collegamento ha fatto alcuna differenza per questo "Enable Modules (C & Objective-C)" era già YES. L'aggiornamento a XCode7 non sembra essere d'aiuto.

Spero che questo aiuti qualcuno :)

+0

Ho fatto questo. Stesso errore nel file Objective-C aggiunto di recente. Non ho file .mm. Controllato tutto descritto in questa discussione. Ancora lo stesso errore. Xcode 8.3 – Alex