Search code examples
iphonexamarin.iosmonodevelopadmobtouchjson

Using AdMob in MonoTouch Projects with iOS SDK 4.2


Using AdMob in MonoTouch Projects with iOS SDK 4.2

We have a test project to try using AdMob with MonoTouch. The setup is as follows:

We created a (fat) TouchJSON library as described in post Monotouch binding for TouchJSON?

We have a Libs library which contains this libTouchJSON.a and the libAdMobNoThumb.a library supplied by AdMob. In there I also have an AdMob.dll procuced by btouch from an AdMob.cs file that defines the (limited set of) Admob methods that we want to use. This dll is added to the references for the project

We supply following extra flags:

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

and we select "Don't Link" as linker behaviour.

This used to work with the pre-SDK 4.2 version of the admob library. But now with the 4.2 version we get the

ld: framework not found AudioUnit 

error. We've read that the solution would be to 'turn the linker back on'. But if we do link (leaving the rest of the setup as described above), we get a lot of unknown symbols from the admob library:

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)

Please advise, we have no idea how to proceed.

Thanks in advance.


Solution

  • You are missing linking to some frameworks that AdMob requires, it looks like

    1. CoreGraphics
    2. QuartzCore
    3. MessageUI
    4. AudioToolBox ( for latest AdMobs from Google eg. GoogleAdMobAdsSdkiOS-6.1.2 )

    at the very least. You need to add "-framework " to your gcc_flags for each missing framework like this:

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