2014-06-10 18 views
7

Sto lavorando a un'app iOS in cui i miei clienti hanno richiesto di implementare DFP e Google Analytics.Google iOS DFP e Analytics per iOS non funzionano insieme

L'implementazione dei banner pubblicitari è stata semplice, ma quando ho aggiunto le librerie richieste da Google Analytics, xcode è comparso mostrando 28 errori.

Gli errori scompaiono quando rimuovo il flag -ObjC linker, ma in questo modo l'implementazione DPF non funzionerà.

Ecco gli errori, qualche idea?

Undefined symbols for architecture x86_64: 
    "_NSOverwriteMergePolicy", referenced from: 
     +[TAGModel contextWithURL:] in libGoogleAnalyticsServices.a(TAGModel.o) 
     -[GAIDataStore contextWithModel:URL:] in libGoogleAnalyticsServices.a(GAIDataStore.o) 
    "_NSSQLiteErrorDomain", referenced from: 
     -[GAIDataStore performBlockAndWait:withError:] in libGoogleAnalyticsServices.a(GAIDataStore.o) 
    "_NSSQLiteStoreType", referenced from: 
     +[TAGModel coordinatorWithURL:] in libGoogleAnalyticsServices.a(TAGModel.o) 
     -[GAIDataStore coordinatorWithModel:URL:] in libGoogleAnalyticsServices.a(GAIDataStore.o) 
    "_OBJC_CLASS_$_NSAttributeDescription", referenced from: 
     objc-class-ref in libGoogleAnalyticsServices.a(TAGModel.o) 
     objc-class-ref in libGoogleAnalyticsServices.a(GAICoreDataUtil.o) 
    "_OBJC_CLASS_$_NSEntityDescription", referenced from: 
     objc-class-ref in libGoogleAnalyticsServices.a(TAGDataProvider.o) 
     objc-class-ref in libGoogleAnalyticsServices.a(TAGModel.o) 
     objc-class-ref in libGoogleAnalyticsServices.a(GAIDataStore.o) 
     objc-class-ref in libGoogleAnalyticsServices.a(GAICoreDataUtil.o) 
    "_OBJC_CLASS_$_NSFetchRequest", referenced from: 
     objc-class-ref in libGoogleAnalyticsServices.a(TAGModel.o) 
     objc-class-ref in libGoogleAnalyticsServices.a(GAIDataStore.o) 
    "_OBJC_CLASS_$_NSManagedObject", referenced from: 
     _OBJC_CLASS_$_TAGHit in libGoogleAnalyticsServices.a(TAGHit.o) 
     _OBJC_CLASS_$_GAIHit in libGoogleAnalyticsServices.a(GAIHit.o) 
     _OBJC_CLASS_$_GAIProperty in libGoogleAnalyticsServices.a(GAIProperty.o) 
    "_OBJC_CLASS_$_NSManagedObjectContext", referenced from: 
     objc-class-ref in libGoogleAnalyticsServices.a(TAGModel.o) 
     objc-class-ref in libGoogleAnalyticsServices.a(GAIDataStore.o) 
    "_OBJC_CLASS_$_NSManagedObjectModel", referenced from: 
     objc-class-ref in libGoogleAnalyticsServices.a(TAGModel.o) 
     objc-class-ref in libGoogleAnalyticsServices.a(GAICoreDataUtil.o) 
    "_OBJC_CLASS_$_NSPersistentStoreCoordinator", referenced from: 
     objc-class-ref in libGoogleAnalyticsServices.a(TAGModel.o) 
     objc-class-ref in libGoogleAnalyticsServices.a(GAIDataStore.o) 
    "_OBJC_METACLASS_$_NSManagedObject", referenced from: 
     _OBJC_METACLASS_$_TAGHit in libGoogleAnalyticsServices.a(TAGHit.o) 
     _OBJC_METACLASS_$_GAIHit in libGoogleAnalyticsServices.a(GAIHit.o) 
     _OBJC_METACLASS_$_GAIProperty in libGoogleAnalyticsServices.a(GAIProperty.o) 
    "_sqlite3_bind_blob", referenced from: 
     -[TAGDataLayerPersistentStoreImpl writeEntriesToDatabase:expireTime:] in libGoogleAnalyticsServices.a(TAGDataLayerPersistentStoreImpl.o) 
    "_sqlite3_bind_int", referenced from: 
     -[TAGDataLayerPersistentStoreImpl deleteEntries:] in libGoogleAnalyticsServices.a(TAGDataLayerPersistentStoreImpl.o) 
    "_sqlite3_bind_int64", referenced from: 
     -[TAGDataLayerPersistentStoreImpl writeEntriesToDatabase:expireTime:] in libGoogleAnalyticsServices.a(TAGDataLayerPersistentStoreImpl.o) 
     -[TAGDataLayerPersistentStoreImpl peekEntryIds:] in libGoogleAnalyticsServices.a(TAGDataLayerPersistentStoreImpl.o) 
     -[TAGDataLayerPersistentStoreImpl deleteEntriesOlderThan:] in libGoogleAnalyticsServices.a(TAGDataLayerPersistentStoreImpl.o) 
    "_sqlite3_bind_text", referenced from: 
     -[TAGDataLayerPersistentStoreImpl clearKeysWithPrefixSingleThreaded:] in libGoogleAnalyticsServices.a(TAGDataLayerPersistentStoreImpl.o) 
     -[TAGDataLayerPersistentStoreImpl writeEntriesToDatabase:expireTime:] in libGoogleAnalyticsServices.a(TAGDataLayerPersistentStoreImpl.o) 
    "_sqlite3_close", referenced from: 
     -[TAGDataLayerPersistentStoreImpl closeDatabase] in libGoogleAnalyticsServices.a(TAGDataLayerPersistentStoreImpl.o) 
    "_sqlite3_column_blob", referenced from: 
     -[TAGDataLayerPersistentStoreImpl loadSerialized] in libGoogleAnalyticsServices.a(TAGDataLayerPersistentStoreImpl.o) 
    "_sqlite3_column_bytes", referenced from: 
     -[TAGDataLayerPersistentStoreImpl loadSerialized] in libGoogleAnalyticsServices.a(TAGDataLayerPersistentStoreImpl.o) 
    "_sqlite3_column_int64", referenced from: 
     -[TAGDataLayerPersistentStoreImpl peekEntryIds:] in libGoogleAnalyticsServices.a(TAGDataLayerPersistentStoreImpl.o) 
     -[TAGDataLayerPersistentStoreImpl numStoredEntries] in libGoogleAnalyticsServices.a(TAGDataLayerPersistentStoreImpl.o) 
    "_sqlite3_column_text", referenced from: 
     -[TAGDataLayerPersistentStoreImpl loadSerialized] in libGoogleAnalyticsServices.a(TAGDataLayerPersistentStoreImpl.o) 
    "_sqlite3_errcode", referenced from: 
     -[TAGDataLayerPersistentStoreImpl prepareSql:description:] in libGoogleAnalyticsServices.a(TAGDataLayerPersistentStoreImpl.o) 
    "_sqlite3_errmsg", referenced from: 
     -[TAGDataLayerPersistentStoreImpl clearKeysWithPrefixSingleThreaded:] in libGoogleAnalyticsServices.a(TAGDataLayerPersistentStoreImpl.o) 
     -[TAGDataLayerPersistentStoreImpl writeEntriesToDatabase:expireTime:] in libGoogleAnalyticsServices.a(TAGDataLayerPersistentStoreImpl.o) 
     -[TAGDataLayerPersistentStoreImpl deleteEntries:] in libGoogleAnalyticsServices.a(TAGDataLayerPersistentStoreImpl.o) 
     -[TAGDataLayerPersistentStoreImpl numStoredEntries] in libGoogleAnalyticsServices.a(TAGDataLayerPersistentStoreImpl.o) 
     -[TAGDataLayerPersistentStoreImpl deleteEntriesOlderThan:] in libGoogleAnalyticsServices.a(TAGDataLayerPersistentStoreImpl.o) 
     -[TAGDataLayerPersistentStoreImpl tablePresent:] in libGoogleAnalyticsServices.a(TAGDataLayerPersistentStoreImpl.o) 
     -[TAGDataLayerPersistentStoreImpl openDatabaseAndInitStatements] in libGoogleAnalyticsServices.a(TAGDataLayerPersistentStoreImpl.o) 
     ... 
    "_sqlite3_finalize", referenced from: 
     -[TAGDataLayerPersistentStoreImpl clearKeysWithPrefixSingleThreaded:] in libGoogleAnalyticsServices.a(TAGDataLayerPersistentStoreImpl.o) 
     -[TAGDataLayerPersistentStoreImpl deleteEntries:] in libGoogleAnalyticsServices.a(TAGDataLayerPersistentStoreImpl.o) 
     -[TAGDataLayerPersistentStoreImpl tablePresent:] in libGoogleAnalyticsServices.a(TAGDataLayerPersistentStoreImpl.o) 
     -[TAGDataLayerPersistentStoreImpl openDatabaseAndInitStatements] in libGoogleAnalyticsServices.a(TAGDataLayerPersistentStoreImpl.o) 
     -[TAGDataLayerPersistentStoreImpl closeDatabase] in libGoogleAnalyticsServices.a(TAGDataLayerPersistentStoreImpl.o) 
    "_sqlite3_open", referenced from: 
     -[TAGDataLayerPersistentStoreImpl openDatabaseAndInitStatements] in libGoogleAnalyticsServices.a(TAGDataLayerPersistentStoreImpl.o) 
    "_sqlite3_prepare_v2", referenced from: 
     -[TAGDataLayerPersistentStoreImpl prepareSql:description:] in libGoogleAnalyticsServices.a(TAGDataLayerPersistentStoreImpl.o) 
    "_sqlite3_reset", referenced from: 
     -[TAGDataLayerPersistentStoreImpl loadSerialized] in libGoogleAnalyticsServices.a(TAGDataLayerPersistentStoreImpl.o) 
     -[TAGDataLayerPersistentStoreImpl writeEntriesToDatabase:expireTime:] in libGoogleAnalyticsServices.a(TAGDataLayerPersistentStoreImpl.o) 
     -[TAGDataLayerPersistentStoreImpl peekEntryIds:] in libGoogleAnalyticsServices.a(TAGDataLayerPersistentStoreImpl.o) 
     -[TAGDataLayerPersistentStoreImpl numStoredEntries] in libGoogleAnalyticsServices.a(TAGDataLayerPersistentStoreImpl.o) 
     -[TAGDataLayerPersistentStoreImpl deleteEntriesOlderThan:] in libGoogleAnalyticsServices.a(TAGDataLayerPersistentStoreImpl.o) 
    "_sqlite3_step", referenced from: 
     -[TAGDataLayerPersistentStoreImpl clearKeysWithPrefixSingleThreaded:] in libGoogleAnalyticsServices.a(TAGDataLayerPersistentStoreImpl.o) 
     -[TAGDataLayerPersistentStoreImpl loadSerialized] in libGoogleAnalyticsServices.a(TAGDataLayerPersistentStoreImpl.o) 
     -[TAGDataLayerPersistentStoreImpl writeEntriesToDatabase:expireTime:] in libGoogleAnalyticsServices.a(TAGDataLayerPersistentStoreImpl.o) 
     -[TAGDataLayerPersistentStoreImpl deleteEntries:] in libGoogleAnalyticsServices.a(TAGDataLayerPersistentStoreImpl.o) 
     -[TAGDataLayerPersistentStoreImpl peekEntryIds:] in libGoogleAnalyticsServices.a(TAGDataLayerPersistentStoreImpl.o) 
     -[TAGDataLayerPersistentStoreImpl numStoredEntries] in libGoogleAnalyticsServices.a(TAGDataLayerPersistentStoreImpl.o) 
     -[TAGDataLayerPersistentStoreImpl deleteEntriesOlderThan:] in libGoogleAnalyticsServices.a(TAGDataLayerPersistentStoreImpl.o) 
     ... 
ld: symbol(s) not found for architecture x86_64 
clang: error: linker command failed with exit code 1 (use -v to see invocation) 
+0

Chiunque? Per favore fatemi sapere se non sono stato abbastanza chiaro nella mia spiegazione. –

risposta

20

Prova tra cui "libsqlite3.0dylib" nel progetto come suggerito here. Verifica se mancano altre librerie o strutture.

+2

Molto probabilmente, manca anche il framework CoreData. – Codo

+2

Fantastico. Ho avuto lo stesso errore e ho avuto il framework CoreData come indicato nei loro documenti. Non sono sicuro del motivo per cui non hanno specificato di aggiungere questo, a meno che non ci sia qualcosa di più sbagliato nel progetto OP e mio. – RoLYroLLs

Problemi correlati