适用于iOS的Google iOS DFP和Google Analytics不能协同工作

Oma*_*r F 7 google-analytics ios google-dfp

我正在开发一个iOS应用程序,我的客户要求其实施DFP和Google Analytics.

实施广告横幅非常简单,但当我添加Google Analytics需要的库时,xcode会显示28个错误.

当我删除-ObjC链接器标志时,错误消失了,但这样DPF实现将不起作用.

这是错误,任何想法?

    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)
Run Code Online (Sandbox Code Playgroud)

goe*_*goe 20

尝试在项目中包含"libsqlite3.0dylib",如此处所示.查看是否遗漏了任何其他库或框架.

  • 最有可能的是,CoreData框架也缺失了. (2认同)
  • 真棒.我得到了同样的错误,我确实有他们的文档中指示的CoreData框架.不知道为什么他们没有指定添加这个,除非OP的项目和我的项目有更深层次的错误. (2认同)