2014-09-12 34 views
26

Sto usando Xcode6 GM per creare un Coacoa Touch Framework (una nuova funzione in Xcode6), quindi questo framework è incluso nella mia app.Xcode "Missing Submodule" warning

Tutto va bene (funziona bene), tranne che ricevo avvisi in "#import". Qual è la causa principale?

enter image description here

risposta

4

Forse, ci si può fermare questo avvertimento con l'aggiunta seguente riga a "DirectProximityFramework.h"

#import <DirectProximityFramework/GeofencingHelper.h> 

... ecc

suggerisco di controllare

[ Scegli il tuo framework] -> Build Phases -> Headers -> Public

36

Mi sono imbattuto nello stesso problema e alla fine l'ho risolto aggiungendo le intestazioni del mio progetto nell'intestazione dell'ombrello. Quando crei un nuovo framework, dovrebbe iniziare con un singolo file .h denominato dal progetto (nel tuo caso DirectProximityFramework.h).

All'interno di questo file è un commento:

In questa intestazione, è necessario importare tutte le intestazioni pubbliche dei tuoi dichiarazioni quadro utilizzando come #import <DirectProximityFramework/PublicHeader.h>

Quindi, è sufficiente aggiungere il file di GeofencingHelper.h in questo file:

#import <DirectProximityFramework/GeofencingHelper.h> 

Questo dovrebbe rimuovere tutti gli avvisi!

+0

Ciao @Firo - Ricevo questo avviso anche se lo sto facendo. –

+0

EDIT: Stupidità sulla mia fine. Non avevo aggiornato la mia struttura importata in modo appropriato. –

+0

@ Julian, felice che tu l'abbia capito! – Firo

0

// In questa intestazione, è necessario importare tutte le intestazioni pubbliche delle sue dichiarazioni quadro utilizzando come

#import <GameworkSDK/GWObject.h>

come questo:

#import <UIKit/UIKit.h> 

#import <GameworkSDK/GWObject.h> 

//! Project version number for GameworkSDK. 
FOUNDATION_EXPORT double GameworkSDKVersionNumber; 

//! Project version string for GameworkSDK. 
FOUNDATION_EXPORT const unsigned char GameworkSDKVersionString[]; 
1

mi sono imbattuto in questo problema e tutti i le soluzioni di cui sopra non mi andavano bene, dal momento che il file non doveva trovarsi nell'intestazione dell'ombrello.

Quindi, se questo è il tuo framework e quel particolare file non dovrebbe essere nell'intestazione dell'ombrello, assicurati che non sia contrassegnato come public nella sezione di appartenenza di destinazione.

Questo lo ha risolto per me.

0

Ho avuto questo problema baccelli di cacao

la mia soluzione era reale semplice ma ha preso per sempre per me per capire.

  • quando ho eseguito $ pod install ha generato un workspace per me nella stessa dir del mio file .xcodeproj.
  • tuttavia avevo già creato uno spazio di lavoro da utilizzare come directory principale.
  • così poi ho semplicemente cancellato il mio vecchio lavoro e se ne andò con quello che baccelli creati

enter image description here


GLHF!

0

ho avuto lo stesso problema e la mia soluzione era ..

Quando si crea il progetto project.Your quadro automaticamente file "yourProjectName.h" viene creato, in questo file di intestazione di classe di classe di importazione.

Nel mio caso sto ricevendo missing submodule 'MSFramework.MSLocationManager' [-Wincomplete-umbrella] questo avviso.

risolto da solo importando

#import <UIKit/UIKit.h> 
    # import "MSLocationManager.h" 

    //! Project version number for MSFramework. 
    FOUNDATION_EXPORT double MSFrameworkVersionNumber; 

    //! Project version string for MSFramework. 
    FOUNDATION_EXPORT const unsigned char MSFrameworkVersionString[]; 

qui mi basta aggiungere il # import "MSLocationManager.h" nel file di intestazione.

0

Imposta percorso di ricerca di intestazione nel vostro ambiente di progetto:

OBIETTIVI/costruire Impostazioni/intestazione dei percorsi di ricerca "$ PODS_CONFIGURATION_BUILD_DIR/[IL NOME PROJ]/[IL NOME PROJ] .framework/intestazioni"

Ora importa il file di intestazione.

#import <DirectProximityFramework.h>