将Flurry AppCircle Ads与AdMob Mediation集成

问题描述:

我目前正在将我的iPhone应用程序中的Flurry AppCircle Ads与AdMob Mediation集成;我正在为iOS 6开发。将Flurry AppCircle Ads与AdMob Mediation集成

我一直在关注Flurry的here的集成指令,但最终项目甚至没有编译。每个必需的框架都与AdMob中介适配器一起链接。

下面是抛出错误:

Undefined symbols for architecture i386: 
    "_OBJC_CLASS_$_FlurryDataSenderBase", referenced from: 
     _OBJC_CLASS_$_AdLogManager in libFlurryAds.a(libFlurryAds.a-i386-master.o) 
    "_OBJC_CLASS_$_FlurryDataSenderBlockInfo", referenced from: 
     objc-class-ref in libFlurryAds.a(libFlurryAds.a-i386-master.o) 
    "_OBJC_CLASS_$_FlurryImpl", referenced from: 
     objc-class-ref in libFlurryAds.a(libFlurryAds.a-i386-master.o) 
    "_OBJC_CLASS_$_FlurrySharedData", referenced from: 
     objc-class-ref in libFlurryAds.a(libFlurryAds.a-i386-master.o) 
    "_OBJC_METACLASS_$_FlurryDataSenderBase", referenced from: 
     _OBJC_METACLASS_$_AdLogManager in libFlurryAds.a(libFlurryAds.a-i386-master.o) 
    ld: symbol(s) not found for architecture i386 

现在我已经想通我自己能避免这些错误,应用程序可以建立,如果我从其它链接器标记删除-ObjC标志,但这个标志是至关重要的,否则AdMob中介在请求一个广告在运行时抛出一个错误:

-[GADObjectPrivate changeState:]: unrecognized selector sent to instance 0xc9cc000 

任何帮助将不胜感激。

您现在可能已经知道了这一点,但只有在主Flurry SDK和Flurry Ads SDK之间版本不匹配时才会看到此错误 - 具体而言,我添加了最新版本的Ads SDK(4.2.0 )添加到已经使用Flurry SDK的现有项目中,但忽略更新后者,因此它仍然在4.0.0版本上。

更新我的Flurry SDK副本导致连接问题消失。

继续阅读提示,我查看了4.2.0 libFlurry.a,并看到它定义了符号_OBJC_CLASS _ $ _ FlurryDataSenderBlockInfo和其余部分。所以,如果你正在链接,那么符号应该被定义。

所以我说,要么:

  • 你不链接到的libFlurry.a可言;或
  • 您正在链接的旧版本的libFlurry.a。
+0

哇,谢谢!这与我所做的事情完全相同,因为这是一个新项目,我全部下载了Flurry SDK - 它必须包含不同版本的SDK(分析是4.0,广告是4.1),这是相当不可信的。 – 2013-05-06 15:32:52

+0

Admob拒绝保存我的乱舞调解位置,您是否遇到过任何问题? – jjxtra 2013-09-26 20:42:59

+0

谢谢亲爱的@tommy。你让我开心 – 2016-08-27 12:23:19