用于iPhone的admob sdk使用一个专有的libAdMobNoThumb.a库和一个基于Objective-C源代码的TouchJSON库。
有没有人知道TouchJSON的C#绑定,以便我们可以将其包括在内?
或者,有人知道如何构建一个可以包含的库吗?
我们使用Xcode创建了一个iPhone库项目,并添加了完整的TouchJSON源码树。然后,我们将测试iPhone应用程序中生成的libTouchJSON.a链接到以下gcc_flags:
-v -v -v -gcc_flags "-L${ProjectDir}/Lib -lAdMobNoThumb -lTouchJSON -force_load ${ProjectDir}/Lib/libAdMobNoThumb.a -force_load ${ProjectDir}/Lib/libTouchJSON.a"这会产生以下错误输出(这要归功于-v -v -v):
Error 1: mtouch failed with the following message:
/var/folders/hF/hF42FIdhEUmY1y-pGRsu1k+++TI/-Tmp-/tmpe374af5.tmp/main.m: In function 'monotouch_debug_connect':
/var/folders/hF/hF42FIdhEUmY1y-pGRsu1k+++TI/-Tmp-/tmpe374af5.tmp/main.m:1779: warning: implicit declaration of function 'select'
/var/folders/hF/hF42FIdhEUmY1y-pGRsu1k+++TI/-Tmp-/tmpe374af5.tmp/main.m: In function 'main':
/var/folders/hF/hF42FIdhEUmY1y-pGRsu1k+++TI/-Tmp-/tmpe374af5.tmp/main.m:1821: warning: implicit declaration of function 'chdir'
/var/folders/hF/hF42FIdhEUmY1y-pGRsu1k+++TI/-Tmp-/tmpe374af5.tmp/main.m:1838: warning: implicit declaration of function 'monotouch_enable_debug_tracking'
/var/folders/hF/hF42FIdhEUmY1y-pGRsu1k+++TI/-Tmp-/tmpe374af5.tmp/main.m:1914: warning: implicit declaration of function 'dup2'
/var/folders/hF/hF42FIdhEUmY1y-pGRsu1k+++TI/-Tmp-/tmpe374af5.tmp/main.m:1921: warning: implicit declaration of function 'mini_get_debug_options'
/var/folders/hF/hF42FIdhEUmY1y-pGRsu1k+++TI/-Tmp-/tmpe374af5.tmp/main.m:1925: warning: implicit declaration of function 'mono_debugger_agent_parse_options'
/var/folders/hF/hF42FIdhEUmY1y-pGRsu1k+++TI/-Tmp-/tmpe374af5.tmp/main.m:2052: warning: implicit declaration of function 'getpagesize'
/var/folders/hF/hF42FIdhEUmY1y-pGRsu1k+++TI/-Tmp-/tmpe374af5.tmp/main.m:2055: warning: cast from pointer to integer of different size
/var/folders/hF/hF42FIdhEUmY1y-pGRsu1k+++TI/-Tmp-/tmpe374af5.tmp/main.m:2055: warning: initialization makes pointer from integer without a cast
Undefined symbols:
"_OBJC_CLASS_$_CJSONSerializer", referenced from:
objc-class-ref-to-CJSONSerializer in libAdMobNoThumb.a(AdMobAd.o)
objc-class-ref-to-CJSONSerializer in libAdMobNoThumb.a(AdMobWebView.o)
objc-class-ref-to-CJSONSerializer in libAdMobNoThumb.a(AdMobFlexWebView.o)
"_OBJC_CLASS_$_CJSONDeserializer", referenced from:
objc-class-ref-to-CJSONDeserializer in libAdMobNoThumb.a(AdMobOpener.o)
objc-class-ref-to-CJSONDeserializer in libAdMobNoThumb.a(AdMobSearchViewController.o)
objc-class-ref-to-CJSONDeserializer in libAdMobNoThumb.a(AdMobAd.o)
ld: symbol(s) not found
collect2: ld returned 1 exit status
(1) (AdMobber)有什么建议可以解决这个问题吗?
蒂亚莫利克。
发布于 2010-11-25 04:47:03
您的AdMob库找不到CJSONDeserializer或CJSONSerializer类,我认为它们来自libTouchJSON.a.通常,这意味着您的libTouchJSON.a没有包含在您的项目中。您应该仔细检查您的所有额外参数,并确保您的libTouchJSON不是拇指的,并且包含您试图链接的所有体系结构(模拟器的x86,设备的armv6 )
发布于 2011-01-05 16:42:09
埃里克
很抱歉让您久等了,但最近我一直在忙于纯xcode项目。让我告诉你我是如何创建一个TouchJSON库的。
我用xcode创建了一个库项目,并复制了最新的admob库附带的TouchJSON源代码。我构建了两个nothumb发布版本,一个用于模拟器,另一个用于设备。这样就产生了两个库。为了便于在MT项目中使用它们,我使用了lipo工具将它们组合到一个fat库中。Fat库很方便,因为它们可以在模拟器和设备构建中使用。完整的项目,包括胖的库libTouchJSON.a和用于构建胖女士的脚本,都在http://www.filedropper.com/touchjson上提供的压缩文件中。
(注:这篇文章是对我最初问题的回答,因为它有点太长了,不能接受Eric S对这个问题的评论)
发布于 2012-02-12 11:19:32
由于很多人会发现这个问题,你可以使用github上发布的admob的最新单点绑定https://github.com/dalexsoto/AlexTouch.GoogleAdMobAds
以下是如何使用它以及如何对其事件进行暂停的示例
public override void ViewDidLoad ()
{
base.ViewDidLoad ();
var ad = new GADBannerView(new RectangleF(new PointF(0,0), GADBannerView.GAD_SIZE_300x250))
{
AdUnitID = "Use Your AdMob Id here",
RootViewController = this
};
ad.DidReceiveAd += delegate
{
this.View.AddSubview(ad);
Console.WriteLine("AD Received");
};
ad.DidFailToReceiveAdWithError += delegate(object sender, GADBannerViewDidFailWithErrorEventArgs e) {
Console.WriteLine(e.Error);
};
ad.WillPresentScreen += delegate {
Console.WriteLine("showing new screen");
};
ad.WillLeaveApplication += delegate {
Console.WriteLine("I will leave application");
};
ad.WillDismissScreen += delegate {
Console.WriteLine("Dismissing opened screen");
};
Console.Write("Requesting Ad");
ad.LoadRequest(new GADRequest());
}https://stackoverflow.com/questions/4271126
复制相似问题