I am working on an iOS application in which my clients asked me to implement DFP and Google Analytics.
Implementing banner ads was simple, but when I added the libraries required by Google Analytics, xcode exploded, showing 28 errors.
Errors disappear when I remove the -ObjC linker flag, but this way the DPF implementation will not work.
Here are the bugs, any ideas?
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)
ios google-analytics google-dfp
Omar f
source share