0

在带有 iOS SDK 4.2 的 MonoTouch 项目中使用 AdMob

我们有一个测试项目来尝试将 AdMob 与 MonoTouch 结合使用。设置如下:

我们创建了一个(胖)TouchJSON 库,如后Monotouch binding for TouchJSON 中所述?

我们有一个 Libs 库,其中包含这个 libTouchJSON.a 和 AdMob 提供的 libAdMobNoThumb.a 库。在那里,我还有一个 AdMob.dll,由 btouch 从一个 AdMob.cs 文件中处理,该文件定义了我们想要使用的(有限的)Admob 方法。此 dll 已添加到项目的引用中

我们提供以下额外标志:

-v -v -v -gcc_flags "-L${ProjectDir}/../Libs -lAdMobNoThumb -lTouchJSON -force_load ${ProjectDir}/../Libs/libAdMobNoThumb.a -force_load ${ProjectDir}/../Libs/libTouchJSON.a"

我们选择“不链接”作为链接器行为。

这用于与 admob 库的 pre-SDK 4.2 版本一起使用。但是现在有了 4.2 版本,我们得到了

ld: framework not found AudioUnit 

错误。我们已经读到解决方案是“重新打开链接器”。但是如果我们进行链接(保留上述设置的其余部分),我们会从 admob 库中获得很多未知符号:

Error 1: mtouch failed with the following message:
/var/folders/hF/hF42FIdhEUmY1y-pGRsu1k+++TI/-Tmp-/tmp2685841f.tmp/main.m: In function 'monotouch_debug_connect':
/var/folders/hF/hF42FIdhEUmY1y-pGRsu1k+++TI/-Tmp-/tmp2685841f.tmp/main.m:1779: warning: implicit declaration of function 'select'
/var/folders/hF/hF42FIdhEUmY1y-pGRsu1k+++TI/-Tmp-/tmp2685841f.tmp/main.m: In function 'main':
/var/folders/hF/hF42FIdhEUmY1y-pGRsu1k+++TI/-Tmp-/tmp2685841f.tmp/main.m:1821: warning: implicit declaration of function 'chdir'
/var/folders/hF/hF42FIdhEUmY1y-pGRsu1k+++TI/-Tmp-/tmp2685841f.tmp/main.m:1838: warning: implicit declaration of function 'monotouch_enable_debug_tracking'
/var/folders/hF/hF42FIdhEUmY1y-pGRsu1k+++TI/-Tmp-/tmp2685841f.tmp/main.m:1914: warning: implicit declaration of function 'dup2'
/var/folders/hF/hF42FIdhEUmY1y-pGRsu1k+++TI/-Tmp-/tmp2685841f.tmp/main.m:1921: warning: implicit declaration of function 'mini_get_debug_options'
/var/folders/hF/hF42FIdhEUmY1y-pGRsu1k+++TI/-Tmp-/tmp2685841f.tmp/main.m:1925: warning: implicit declaration of function 'mono_debugger_agent_parse_options'
/var/folders/hF/hF42FIdhEUmY1y-pGRsu1k+++TI/-Tmp-/tmp2685841f.tmp/main.m:2055: warning: implicit declaration of function 'getpagesize'
/var/folders/hF/hF42FIdhEUmY1y-pGRsu1k+++TI/-Tmp-/tmp2685841f.tmp/main.m:2058: warning: cast from pointer to integer of different size
/var/folders/hF/hF42FIdhEUmY1y-pGRsu1k+++TI/-Tmp-/tmp2685841f.tmp/main.m:2058: warning: initialization makes pointer from integer without a cast
Undefined symbols:
"_CGColorSpaceGetModel", referenced from:
    +[AdMobFlexAd(DictionaryParsing) arrayWithColor:] in libAdMobNoThumb.a(AdMobFlexAd.o)
"_CGRectZero", referenced from:
    _CGRectZero$non_lazy_ptr in libAdMobNoThumb.a(AdMobFlexAd.o)
    _CGRectZero$non_lazy_ptr in libAdMobNoThumb.a(AdMobUtil.o)
    (maybe you meant: _CGRectZero$non_lazy_ptr)
"_OBJC_CLASS_$_CATransition", referenced from:
    objc-class-ref-to-CATransition in libAdMobNoThumb.a(AdMobModalViewController.o)
"_CGContextClip", referenced from:
    -[AdMobImageView drawRect:] in libAdMobNoThumb.a(AdMobImageView.o)
    +[AdMobOldSchoolSingleAdView drawImage:atPoint:withBevelsAndRoundedCornersOfRadius:] in libAdMobNoThumb.a(AdMobOldSchoolSingleAdView.o)
"_CGRectGetMaxX", referenced from:
    +[AdMobModalViewController convertApplicationFrame:toOrientation:] in libAdMobNoThumb.a(AdMobModalViewController.o)
    +[AdMobModalViewController convertApplicationFrame:toOrientation:] in libAdMobNoThumb.a(AdMobModalViewController.o)
    +[AdMobModalViewController convertApplicationFrame:toOrientation:] in libAdMobNoThumb.a(AdMobModalViewController.o)
    +[AdMobModalViewController convertApplicationFrame:toOrientation:] in libAdMobNoThumb.a(AdMobModalViewController.o)
    -[AdMobVideoPlayerOverlayView addTitleBar:] in libAdMobNoThumb.a(AdMobVideoPlayerOverlayView.o)
"_CGRectGetMaxY", referenced from:
    +[AdMobModalViewController convertApplicationFrame:toOrientation:] in libAdMobNoThumb.a(AdMobModalViewController.o)
    +[AdMobModalViewController convertApplicationFrame:toOrientation:] in libAdMobNoThumb.a(AdMobModalViewController.o)
    +[AdMobModalViewController convertApplicationFrame:toOrientation:] in libAdMobNoThumb.a(AdMobModalViewController.o)
    +[AdMobModalViewController convertApplicationFrame:toOrientation:] in libAdMobNoThumb.a(AdMobModalViewController.o)
"_kCATransitionMoveIn", referenced from:
    _kCATransitionMoveIn$non_lazy_ptr in libAdMobNoThumb.a(AdMobModalViewController.o)
    (maybe you meant: _kCATransitionMoveIn$non_lazy_ptr)
"_CGRectGetMidX", referenced from:
    -[AdMobModalViewController setupWindowScreenshot:original:] in libAdMobNoThumb.a(AdMobModalViewController.o)
    -[AdMobModalViewController setupCenterForFullscreenView:withOrientation:] in libAdMobNoThumb.a(AdMobModalViewController.o)
    -[AdMobModalViewController viewDidAppear:] in libAdMobNoThumb.a(AdMobModalViewController.o)
    -[AdMobVideoViewController moveOverlayToLandingPage] in libAdMobNoThumb.a(AdMobVideoViewController.o)
    -[AdMobVideoViewController moveOverlayToLandingPage] in libAdMobNoThumb.a(AdMobVideoViewController.o)
    -[AdMobVideoViewController moveOverlayToLandingPage] in libAdMobNoThumb.a(AdMobVideoViewController.o)
    -[AdMobVideoViewController moveOverlayToLandingPage] in libAdMobNoThumb.a(AdMobVideoViewController.o)
    -[AdMobModalHelper juggleSubviews:] in libAdMobNoThumb.a(AdMobModalHelper.o)
    -[AdMobSingleAdView animationDidStop:finished:] in libAdMobNoThumb.a(AdMobSingleAdView.o)
"_CGRectGetMidY", referenced from:
    -[AdMobModalViewController setupWindowScreenshot:original:] in libAdMobNoThumb.a(AdMobModalViewController.o)
    -[AdMobModalViewController setupCenterForFullscreenView:withOrientation:] in libAdMobNoThumb.a(AdMobModalViewController.o)
    -[AdMobModalViewController viewDidAppear:] in libAdMobNoThumb.a(AdMobModalViewController.o)
    -[AdMobVideoViewController moveOverlayToLandingPage] in libAdMobNoThumb.a(AdMobVideoViewController.o)
    -[AdMobVideoViewController moveOverlayToLandingPage] in libAdMobNoThumb.a(AdMobVideoViewController.o)
    -[AdMobVideoViewController moveOverlayToLandingPage] in libAdMobNoThumb.a(AdMobVideoViewController.o)
    -[AdMobVideoViewController moveOverlayToLandingPage] in libAdMobNoThumb.a(AdMobVideoViewController.o)
    -[AdMobModalHelper juggleSubviews:] in libAdMobNoThumb.a(AdMobModalHelper.o)
    -[AdMobSingleAdView animationDidStop:finished:] in libAdMobNoThumb.a(AdMobSingleAdView.o)
"_CGRectGetMinX", referenced from:
    +[AdMobModalViewController convertApplicationFrame:toOrientation:] in libAdMobNoThumb.a(AdMobModalViewController.o)
    +[AdMobModalViewController convertApplicationFrame:toOrientation:] in libAdMobNoThumb.a(AdMobModalViewController.o)
"_CGRectGetMinY", referenced from:
    +[AdMobModalViewController convertApplicationFrame:toOrientation:] in libAdMobNoThumb.a(AdMobModalViewController.o)
    +[AdMobModalViewController convertApplicationFrame:toOrientation:] in libAdMobNoThumb.a(AdMobModalViewController.o)
"_MPMoviePlayerPlaybackDidFinishNotification", referenced from:
    _MPMoviePlayerPlaybackDidFinishNotification$non_lazy_ptr in libAdMobNoThumb.a(AdMobVideoViewController.o)
    _MPMoviePlayerPlaybackDidFinishNotification$non_lazy_ptr in libAdMobNoThumb.a(AdMobMovieView.o)
    (maybe you meant: _MPMoviePlayerPlaybackDidFinishNotification$non_lazy_ptr)
"_CGRectContainsPoint", referenced from:
    -[AdMobFlexAdContainerView touchIsInSelf:] in libAdMobNoThumb.a(AdMobFlexAdContainerView.o)
    -[AdMobOldSchoolSingleAdView touchIsInSelf:] in libAdMobNoThumb.a(AdMobOldSchoolSingleAdView.o)
    -[AdMobVideoPlayerButton touchIsInSelf:] in libAdMobNoThumb.a(AdMobVideoPlayerButton.o)
"_kCAMediaTimingFunctionEaseInEaseOut", referenced from:
    _kCAMediaTimingFunctionEaseInEaseOut$non_lazy_ptr in libAdMobNoThumb.a(AdMobFlexAd.o)
    (maybe you meant: _kCAMediaTimingFunctionEaseInEaseOut$non_lazy_ptr)
"_CGContextAddArcToPoint", referenced from:
    -[AdMobImageView drawRect:] in libAdMobNoThumb.a(AdMobImageView.o)
    -[AdMobImageView drawRect:] in libAdMobNoThumb.a(AdMobImageView.o)
    -[AdMobImageView drawRect:] in libAdMobNoThumb.a(AdMobImageView.o)
    -[AdMobImageView drawRect:] in libAdMobNoThumb.a(AdMobImageView.o)
    -[AdMobImageView drawRect:] in libAdMobNoThumb.a(AdMobImageView.o)
    -[AdMobImageView drawRect:] in libAdMobNoThumb.a(AdMobImageView.o)
    +[AdMobOldSchoolSingleAdView drawImage:atPoint:withBevelsAndRoundedCornersOfRadius:] in libAdMobNoThumb.a(AdMobOldSchoolSingleAdView.o)
    +[AdMobOldSchoolSingleAdView drawImage:atPoint:withBevelsAndRoundedCornersOfRadius:] in libAdMobNoThumb.a(AdMobOldSchoolSingleAdView.o)
    +[AdMobOldSchoolSingleAdView drawImage:atPoint:withBevelsAndRoundedCornersOfRadius:] in libAdMobNoThumb.a(AdMobOldSchoolSingleAdView.o)
    +[AdMobOldSchoolSingleAdView drawImage:atPoint:withBevelsAndRoundedCornersOfRadius:] in libAdMobNoThumb.a(AdMobOldSchoolSingleAdView.o)
    +[AdMobOldSchoolSingleAdView drawImage:atPoint:withBevelsAndRoundedCornersOfRadius:] in libAdMobNoThumb.a(AdMobOldSchoolSingleAdView.o)
    +[AdMobOldSchoolSingleAdView drawImage:atPoint:withBevelsAndRoundedCornersOfRadius:] in libAdMobNoThumb.a(AdMobOldSchoolSingleAdView.o)
"_CATransform3DMakeAffineTransform", referenced from:
    +[AdMobFlexAd(DictionaryParsing) valueOfType:withValue:defaultValueProvider:] in libAdMobNoThumb.a(AdMobFlexAd.o)
"_CGContextRestoreGState", referenced from:
    -[AdMobImageView drawRect:] in libAdMobNoThumb.a(AdMobImageView.o)
    -[AdMobImageView drawRect:] in libAdMobNoThumb.a(AdMobImageView.o)
    -[AdMobImageView drawRect:] in libAdMobNoThumb.a(AdMobImageView.o)
    +[AdMobOldSchoolSingleAdView drawImage:atPoint:withBevelsAndRoundedCornersOfRadius:] in libAdMobNoThumb.a(AdMobOldSchoolSingleAdView.o)
    -[AdMobShineView drawTranslucentShineBackgroundWithBaseColor:] in libAdMobNoThumb.a(AdMobShineView.o)
"_CGAffineTransformIdentity", referenced from:
    _CGAffineTransformIdentity$non_lazy_ptr in libAdMobNoThumb.a(AdMobModalViewController.o)
    _CGAffineTransformIdentity$non_lazy_ptr in libAdMobNoThumb.a(AdMobVideoViewController.o)
    _CGAffineTransformIdentity$non_lazy_ptr in libAdMobNoThumb.a(AdMobFlexAd.o)
    (maybe you meant: _CGAffineTransformIdentity$non_lazy_ptr)
"_CGColorGetColorSpace", referenced from:
    +[AdMobFlexAd(DictionaryParsing) arrayWithColor:] in libAdMobNoThumb.a(AdMobFlexAd.o)
"_OBJC_CLASS_$_MPMoviePlayerController", referenced from:
    objc-class-ref-to-MPMoviePlayerController in libAdMobNoThumb.a(AdMobVideoViewController.o)
    objc-class-ref-to-MPMoviePlayerController in libAdMobNoThumb.a(AdMobMovieView.o)
"_CGColorGetComponents", referenced from:
    +[AdMobFlexAd(DictionaryParsing) arrayWithColor:] in libAdMobNoThumb.a(AdMobFlexAd.o)
"_CGAffineTransformRotate", referenced from:
    -[AdMobVideoViewController setMoviePlayerOrientation:] in libAdMobNoThumb.a(AdMobVideoViewController.o)
    -[AdMobVideoViewController setMoviePlayerOrientation:] in libAdMobNoThumb.a(AdMobVideoViewController.o)
"_CGContextSetLineWidth", referenced from:
    -[AdMobImageView drawRect:] in libAdMobNoThumb.a(AdMobImageView.o)
    +[AdMobOldSchoolSingleAdView drawImage:atPoint:withBevelsAndRoundedCornersOfRadius:] in libAdMobNoThumb.a(AdMobOldSchoolSingleAdView.o)
    -[AdMobShineView drawTranslucentShineBackgroundWithBaseColor:] in libAdMobNoThumb.a(AdMobShineView.o)
"_OBJC_CLASS_$_CAKeyframeAnimation", referenced from:
    objc-class-ref-to-CAKeyframeAnimation in libAdMobNoThumb.a(AdMobFlexAd.o)
    objc-class-ref-to-CAKeyframeAnimation in libAdMobNoThumb.a(AdMobSingleAdView.o)
"_CGSizeZero", referenced from:
    _CGSizeZero$non_lazy_ptr in libAdMobNoThumb.a(AdMobOpener.o)
    _CGSizeZero$non_lazy_ptr in libAdMobNoThumb.a(AdMobFlexAd.o)
    (maybe you meant: _CGSizeZero$non_lazy_ptr)
"_kCATransitionFromTop", referenced from:
    _kCATransitionFromTop$non_lazy_ptr in libAdMobNoThumb.a(AdMobModalViewController.o)
    (maybe you meant: _kCATransitionFromTop$non_lazy_ptr)
"_OBJC_CLASS_$_CAAnimationGroup", referenced from:
    objc-class-ref-to-CAAnimationGroup in libAdMobNoThumb.a(AdMobFlexAd.o)
"_CGAffineTransformMakeScale", referenced from:
    -[AdMobPagingScrollView setNumberOfPages:touchDelegate:] in libAdMobNoThumb.a(AdMobPagingScrollView.o)
"_kCAFillModeBoth", referenced from:
    _kCAFillModeBoth$non_lazy_ptr in libAdMobNoThumb.a(AdMobFlexAd.o)
    (maybe you meant: _kCAFillModeBoth$non_lazy_ptr)
"_kCAMediaTimingFunctionEaseIn", referenced from:
    _kCAMediaTimingFunctionEaseIn$non_lazy_ptr in libAdMobNoThumb.a(AdMobFlexAd.o)
    (maybe you meant: _kCAMediaTimingFunctionEaseInEaseOut$non_lazy_ptr, _kCAMediaTimingFunctionEaseIn$non_lazy_ptr )
"_CATransform3DIdentity", referenced from:
    _CATransform3DIdentity$non_lazy_ptr in libAdMobNoThumb.a(AdMobFlexAd.o)
    _CATransform3DIdentity$non_lazy_ptr in libAdMobNoThumb.a(AdMobSingleAdView.o)
    (maybe you meant: _CATransform3DIdentity$non_lazy_ptr)
"_CGImageCreateWithImageInRect", referenced from:
    +[AdMobSearchBar tileImageViewWithFrame:image:searchBar:] in libAdMobNoThumb.a(AdMobSearchBar.o)
"_kCAMediaTimingFunctionEaseOut", referenced from:
    _kCAMediaTimingFunctionEaseOut$non_lazy_ptr in libAdMobNoThumb.a(AdMobModalViewController.o)
    _kCAMediaTimingFunctionEaseOut$non_lazy_ptr in libAdMobNoThumb.a(AdMobFlexAd.o)
    (maybe you meant: _kCAMediaTimingFunctionEaseOut$non_lazy_ptr)
"_CGAffineTransformScale", referenced from:
    -[AdMobVideoViewController setMoviePlayerOrientation:] in libAdMobNoThumb.a(AdMobVideoViewController.o)
"_CGGradientCreateWithColors", referenced from:
    -[AdMobGradientView drawRect:] in libAdMobNoThumb.a(AdMobGradientView.o)
    -[AdMobOldSchoolSingleAdView drawShineBackgroundWithBaseColor:] in libAdMobNoThumb.a(AdMobOldSchoolSingleAdView.o)
    -[AdMobShineView drawTranslucentShineBackgroundWithBaseColor:] in libAdMobNoThumb.a(AdMobShineView.o)
"_kCAFillModeForwards", referenced from:
    _kCAFillModeForwards$non_lazy_ptr in libAdMobNoThumb.a(AdMobFlexAd.o)
    _kCAFillModeForwards$non_lazy_ptr in libAdMobNoThumb.a(AdMobSingleAdView.o)
    (maybe you meant: _kCAFillModeForwards$non_lazy_ptr)
"_kCAMediaTimingFunctionLinear", referenced from:
    _kCAMediaTimingFunctionLinear$non_lazy_ptr in libAdMobNoThumb.a(AdMobFlexAd.o)
    (maybe you meant: _kCAMediaTimingFunctionLinear$non_lazy_ptr)
"_kCAFillModeBackwards", referenced from:
    _kCAFillModeBackwards$non_lazy_ptr in libAdMobNoThumb.a(AdMobFlexAd.o)
    (maybe you meant: _kCAFillModeBackwards$non_lazy_ptr)
"_CGContextSaveGState", referenced from:
    -[AdMobImageView drawRect:] in libAdMobNoThumb.a(AdMobImageView.o)
    -[AdMobImageView drawRect:] in libAdMobNoThumb.a(AdMobImageView.o)
    -[AdMobImageView drawRect:] in libAdMobNoThumb.a(AdMobImageView.o)
    +[AdMobOldSchoolSingleAdView drawImage:atPoint:withBevelsAndRoundedCornersOfRadius:] in libAdMobNoThumb.a(AdMobOldSchoolSingleAdView.o)
    -[AdMobShineView drawTranslucentShineBackgroundWithBaseColor:] in libAdMobNoThumb.a(AdMobShineView.o)
"_CGContextMoveToPoint", referenced from:
    -[AdMobImageView drawRect:] in libAdMobNoThumb.a(AdMobImageView.o)
    -[AdMobImageView drawRect:] in libAdMobNoThumb.a(AdMobImageView.o)
    +[AdMobOldSchoolSingleAdView drawImage:atPoint:withBevelsAndRoundedCornersOfRadius:] in libAdMobNoThumb.a(AdMobOldSchoolSingleAdView.o)
    +[AdMobOldSchoolSingleAdView drawImage:atPoint:withBevelsAndRoundedCornersOfRadius:] in libAdMobNoThumb.a(AdMobOldSchoolSingleAdView.o)
    -[AdMobShineView drawTranslucentShineBackgroundWithBaseColor:] in libAdMobNoThumb.a(AdMobShineView.o)
    -[AdMobShineView drawTranslucentShineBackgroundWithBaseColor:] in libAdMobNoThumb.a(AdMobShineView.o)
    -[AdMobShineView drawTranslucentShineBackgroundWithBaseColor:] in libAdMobNoThumb.a(AdMobShineView.o)
    -[AdMobShineView drawTranslucentShineBackgroundWithBaseColor:] in libAdMobNoThumb.a(AdMobShineView.o)
"_CGAffineTransformMakeRotation", referenced from:
    -[AdMobModalViewController calculateScreenshotTransform:original:] in libAdMobNoThumb.a(AdMobModalViewController.o)
    -[AdMobModalViewController transformFromOrientation:] in libAdMobNoThumb.a(AdMobModalViewController.o)
"_CGContextSetStrokeColorWithColor", referenced from:
    -[AdMobImageView drawRect:] in libAdMobNoThumb.a(AdMobImageView.o)
    +[AdMobOldSchoolSingleAdView drawImage:atPoint:withBevelsAndRoundedCornersOfRadius:] in libAdMobNoThumb.a(AdMobOldSchoolSingleAdView.o)
    +[AdMobOldSchoolSingleAdView drawImage:atPoint:withBevelsAndRoundedCornersOfRadius:] in libAdMobNoThumb.a(AdMobOldSchoolSingleAdView.o)
    +[AdMobOldSchoolSingleAdView drawImage:atPoint:withBevelsAndRoundedCornersOfRadius:] in libAdMobNoThumb.a(AdMobOldSchoolSingleAdView.o)
    -[AdMobShineView drawTranslucentShineBackgroundWithBaseColor:] in libAdMobNoThumb.a(AdMobShineView.o)
    -[AdMobShineView drawTranslucentShineBackgroundWithBaseColor:] in libAdMobNoThumb.a(AdMobShineView.o)
    -[AdMobShineView drawTranslucentShineBackgroundWithBaseColor:] in libAdMobNoThumb.a(AdMobShineView.o)
"_CGContextDrawLinearGradient", referenced from:
    -[AdMobGradientView drawRect:] in libAdMobNoThumb.a(AdMobGradientView.o)
    -[AdMobOldSchoolSingleAdView drawShineBackgroundWithBaseColor:] in libAdMobNoThumb.a(AdMobOldSchoolSingleAdView.o)
    -[AdMobShineView drawTranslucentShineBackgroundWithBaseColor:] in libAdMobNoThumb.a(AdMobShineView.o)
"_CGContextAddArc", referenced from:
    -[AdMobImageView drawRect:] in libAdMobNoThumb.a(AdMobImageView.o)
    -[AdMobImageView drawRect:] in libAdMobNoThumb.a(AdMobImageView.o)
    +[AdMobOldSchoolSingleAdView drawImage:atPoint:withBevelsAndRoundedCornersOfRadius:] in libAdMobNoThumb.a(AdMobOldSchoolSingleAdView.o)
    +[AdMobOldSchoolSingleAdView drawImage:atPoint:withBevelsAndRoundedCornersOfRadius:] in libAdMobNoThumb.a(AdMobOldSchoolSingleAdView.o)
    +[AdMobOldSchoolSingleAdView drawImage:atPoint:withBevelsAndRoundedCornersOfRadius:] in libAdMobNoThumb.a(AdMobOldSchoolSingleAdView.o)
    +[AdMobOldSchoolSingleAdView drawImage:atPoint:withBevelsAndRoundedCornersOfRadius:] in libAdMobNoThumb.a(AdMobOldSchoolSingleAdView.o)
"_CATransform3DMakeScale", referenced from:
    +[AdMobSingleAdView pulseAnimationWithDelegate:] in libAdMobNoThumb.a(AdMobSingleAdView.o)
    +[AdMobSingleAdView pulseAnimationWithDelegate:] in libAdMobNoThumb.a(AdMobSingleAdView.o)
"_CGImageGetHeight", referenced from:
    +[AdMobSearchBar tileImageViewWithFrame:image:searchBar:] in libAdMobNoThumb.a(AdMobSearchBar.o)
"_CGContextFillRect", referenced from:
    -[AdMobGradientView drawRect:] in libAdMobNoThumb.a(AdMobGradientView.o)
    -[AdMobOldSchoolSingleAdView drawShineBackgroundWithBaseColor:] in libAdMobNoThumb.a(AdMobOldSchoolSingleAdView.o)
    -[AdMobShineView drawTranslucentShineBackgroundWithBaseColor:] in libAdMobNoThumb.a(AdMobShineView.o)
"_CGContextSetShouldAntialias", referenced from:
    -[AdMobShineView drawTranslucentShineBackgroundWithBaseColor:] in libAdMobNoThumb.a(AdMobShineView.o)
"_OBJC_CLASS_$_CAMediaTimingFunction", referenced from:
    objc-class-ref-to-CAMediaTimingFunction in libAdMobNoThumb.a(AdMobModalViewController.o)
    objc-class-ref-to-CAMediaTimingFunction in libAdMobNoThumb.a(AdMobFlexAd.o)
"_CGContextTranslateCTM", referenced from:
    -[AdMobImageView drawRect:] in libAdMobNoThumb.a(AdMobImageView.o)
    -[AdMobImageView drawRect:] in libAdMobNoThumb.a(AdMobImageView.o)
    -[AdMobImageView drawRect:] in libAdMobNoThumb.a(AdMobImageView.o)
    -[AdMobImageView drawRect:] in libAdMobNoThumb.a(AdMobImageView.o)
"_CGContextAddLineToPoint", referenced from:
    -[AdMobShineView drawTranslucentShineBackgroundWithBaseColor:] in libAdMobNoThumb.a(AdMobShineView.o)
    -[AdMobShineView drawTranslucentShineBackgroundWithBaseColor:] in libAdMobNoThumb.a(AdMobShineView.o)
    -[AdMobShineView drawTranslucentShineBackgroundWithBaseColor:] in libAdMobNoThumb.a(AdMobShineView.o)
    -[AdMobShineView drawTranslucentShineBackgroundWithBaseColor:] in libAdMobNoThumb.a(AdMobShineView.o)
"_OBJC_CLASS_$_CATransaction", referenced from:
    objc-class-ref-to-CATransaction in libAdMobNoThumb.a(AdMobFlexAdContainerView.o)
"_kCATransition", referenced from:
    _kCATransition$non_lazy_ptr in libAdMobNoThumb.a(AdMobModalViewController.o)
    (maybe you meant: _kCATransitionMoveIn$non_lazy_ptr, _kCATransition$non_lazy_ptr , _kCATransitionFromTop$non_lazy_ptr )
"_CGContextBeginPath", referenced from:
    -[AdMobShineView drawTranslucentShineBackgroundWithBaseColor:] in libAdMobNoThumb.a(AdMobShineView.o)
    -[AdMobShineView drawTranslucentShineBackgroundWithBaseColor:] in libAdMobNoThumb.a(AdMobShineView.o)
    -[AdMobShineView drawTranslucentShineBackgroundWithBaseColor:] in libAdMobNoThumb.a(AdMobShineView.o)
"_CGContextStrokePath", referenced from:
    -[AdMobImageView drawRect:] in libAdMobNoThumb.a(AdMobImageView.o)
    +[AdMobOldSchoolSingleAdView drawImage:atPoint:withBevelsAndRoundedCornersOfRadius:] in libAdMobNoThumb.a(AdMobOldSchoolSingleAdView.o)
    +[AdMobOldSchoolSingleAdView drawImage:atPoint:withBevelsAndRoundedCornersOfRadius:] in libAdMobNoThumb.a(AdMobOldSchoolSingleAdView.o)
    +[AdMobOldSchoolSingleAdView drawImage:atPoint:withBevelsAndRoundedCornersOfRadius:] in libAdMobNoThumb.a(AdMobOldSchoolSingleAdView.o)
    -[AdMobShineView drawTranslucentShineBackgroundWithBaseColor:] in libAdMobNoThumb.a(AdMobShineView.o)
    -[AdMobShineView drawTranslucentShineBackgroundWithBaseColor:] in libAdMobNoThumb.a(AdMobShineView.o)
    -[AdMobShineView drawTranslucentShineBackgroundWithBaseColor:] in libAdMobNoThumb.a(AdMobShineView.o)
    -[AdMobShineView drawTranslucentShineBackgroundWithBaseColor:] in libAdMobNoThumb.a(AdMobShineView.o)
"_CGContextScaleCTM", referenced from:
    -[AdMobImageView drawRect:] in libAdMobNoThumb.a(AdMobImageView.o)
    -[AdMobImageView drawRect:] in libAdMobNoThumb.a(AdMobImageView.o)
"_CGPointZero", referenced from:
    _CGPointZero$non_lazy_ptr in libAdMobNoThumb.a(AdMobOpener.o)
    _CGPointZero$non_lazy_ptr in libAdMobNoThumb.a(AdMobFlexAd.o)
    _CGPointZero$non_lazy_ptr in libAdMobNoThumb.a(AdMobOldSchoolSingleAdView.o)
    (maybe you meant: _CGPointZero$non_lazy_ptr)
"_CGGradientRelease", referenced from:
    -[AdMobGradientView drawRect:] in libAdMobNoThumb.a(AdMobGradientView.o)
    -[AdMobOldSchoolSingleAdView drawShineBackgroundWithBaseColor:] in libAdMobNoThumb.a(AdMobOldSchoolSingleAdView.o)
    -[AdMobShineView drawTranslucentShineBackgroundWithBaseColor:] in libAdMobNoThumb.a(AdMobShineView.o)
"_OBJC_CLASS_$_CABasicAnimation", referenced from:
    objc-class-ref-to-CABasicAnimation in libAdMobNoThumb.a(AdMobFlexAd.o)
"_kCAFillModeRemoved", referenced from:
    _kCAFillModeRemoved$non_lazy_ptr in libAdMobNoThumb.a(AdMobFlexAd.o)
    (maybe you meant: _kCAFillModeRemoved$non_lazy_ptr)
"_CGRectEqualToRect", referenced from:
    -[AdMobWebViewController loadViewWithBounds:] in libAdMobNoThumb.a(AdMobWebViewController.o)
    -[AdMobModalHelper juggleSubviews:] in libAdMobNoThumb.a(AdMobModalHelper.o)
"_CGContextSetFillColorWithColor", referenced from:
    -[AdMobModalViewController newScreenshotOfWindow:addGrayMask:] in libAdMobNoThumb.a(AdMobModalViewController.o)
    -[AdMobGradientView drawRect:] in libAdMobNoThumb.a(AdMobGradientView.o)
    -[AdMobOldSchoolSingleAdView drawRect:] in libAdMobNoThumb.a(AdMobOldSchoolSingleAdView.o)
    -[AdMobOldSchoolSingleAdView drawShineBackgroundWithBaseColor:] in libAdMobNoThumb.a(AdMobOldSchoolSingleAdView.o)
    -[AdMobSearchAdView setAd:] in libAdMobNoThumb.a(AdMobSearchAdView.o)
    -[AdMobShineView drawTranslucentShineBackgroundWithBaseColor:] in libAdMobNoThumb.a(AdMobShineView.o)
"_CGContextDrawImage", referenced from:
    -[AdMobImageView drawRect:] in libAdMobNoThumb.a(AdMobImageView.o)
    -[AdMobImageView drawRect:] in libAdMobNoThumb.a(AdMobImageView.o)
"_OBJC_CLASS_$_MFMailComposeViewController", referenced from:
    objc-class-ref-to-MFMailComposeViewController in libAdMobNoThumb.a(AdMobWebView.o)
"_CGImageRelease", referenced from:
    +[AdMobSearchBar tileImageViewWithFrame:image:searchBar:] in libAdMobNoThumb.a(AdMobSearchBar.o)
ld: symbol(s) not found
collect2: ld returned 1 exit status
(1) (Proggy)

请告知,我们不知道如何进行。

提前致谢。

4

1 回答 1

7

您缺少 AdMob 需要的一些框架的链接,看起来像

  1. 核心图形
  2. 石英芯
  3. 消息界面
  4. AudioToolBox(适用于 Google 的最新 AdMobs,例如 GoogleAdMobAdsSdkiOS-6.1.2)

至少。您需要为每个缺少的框架添加“-framework”到您的 gcc_flags 中,如下所示:

-v -v -v -gcc_flags "-framework CoreGraphics -L${ProjectDir}/../Libs -lAdMobNoThumb -lTouchJSON -force_load ${ProjectDir}/../Libs/libAdMobNoThumb.a -force_load ${ProjectDir}/. ./Libs/libTouchJSON.a"

于 2011-01-06T00:02:08.350 回答