2015-04-09 29 views
12

Ricevo errori di compilazione ovunque venga utilizzato NSParameterAssert. Per esempio:Errore di compilazione con NSParameterAssert con Xcode 6.3

-(instancetype)initForPlot:(CPTPlot *)plot withFunction:(CPTDataSourceFunction)function 
{ 
    NSParameterAssert([plot isKindOfClass:[CPTScatterPlot class]]); 
    NSParameterAssert(function); 

    if ((self = [self initForPlot:plot])) { 
     dataSourceFunction = function; 
    } 
    return self; 
} 

Il codice compila bene con Xcode 6.2 ma mi sta dando i seguenti errori con Xcode 6.3:
/Users/xxxx/Project/App/Presentation/CorePlot/Source/CPTFunctionDataSource.m:110:5: Using %s directive in NSString which is being passed as a formatting argument to the formatting method

ho guardato on-line e non ho visto informazioni sul messaggio di errore.
Una correzione temporanea sto utilizzando è il seguente:

#undef NSParameterAssert 
#define NSParameterAssert(condition) ({\ 
do {\ 
_Pragma("clang diagnostic push")\ 
_Pragma("clang diagnostic ignored \"-Wcstring-format-directive\"")\ 
NSAssert((condition), @"Invalid parameter not satisfying: %s", #condition);\ 
_Pragma("clang diagnostic pop")\ 
} while(0);\ 
}) 

Ci dovrebbe essere una soluzione migliore per questo però.

+0

Stesso problema per l'aggiornamento di Xcode. –

+0

Anche qui. – UberJason

+1

Nessuna vera soluzione, ma ci ho lavorato attorno aggiungendo -Wno-cstring-format-directive a WARNING_CFLAGS –

risposta

1

Tutto quello che dovete fare è aggiornare la libreria core-plot alla versione più recente (che ha lavorato per me), perché:

Se si va a Coreplot git repo (https://github.com/core-plot/core-plot/commits/master),

entro i commit è possibile vedere:

Commits on Feb 15, 2015 
@eskroch 
Fixed Xcode 6.3 beta build warnings. 
eskroch authored on Feb 15 

ciò significa che questo problema è già fissato dal 15 febbraio, da molto tempo prima che questo iOS 8.3 versione, dal momento che la versione beta.

Problemi correlati