我用cocos2d-x游戏库制作了一些游戏,我想用AdMob展示横幅广告。 使用libGoogleAdMobAds.a版本6.5.0,它工作正常,但该版本不支持arm64架构。然后我迁移到版本6.11.1(最新版本)但它会导致一些链接器错误。
架构armv7的未定义符号: “_UITransitionContextToViewControllerKey” “_UITransitionContextFromViewControllerKey” “_OBJC_METACLASS _ $ _ UIPercentDrivenInteractiveTransition” “_OBJC_CLASS _ $ _ UIPercentDrivenInteractiveTransition” 链接器命令失败,退出代码为1(使用-v查看调用)
有什么问题?我花了3天因为这个错误。请帮帮我。
以下是完整的错误消息。
架构armv7的未定义符号: “_UITransitionContextToViewControllerKey”,引自: - libGoogleAdMobAds.a中的[GADViewControllerFullScreenSwipeAnimation animateTransition:](GADViewControllerFullScreenSwipeAnimation.o) - 在libGoogleAdMobAds.a中的[GADViewControllerFullScreenSwipeAnimation animationContextForTopToBottomAnimationPresentationWithTransitionContext:](GADViewControllerFullScreenSwipeAnimation.o) - 在libGoogleAdMobAds.a中的[GADViewControllerFullScreenSwipeAnimation animationContextForBottomToTopAnimationPresentationWithTransitionContext:](GADViewControllerFullScreenSwipeAnimation.o) “_UITransitionContextFromViewControllerKey”,引自: - libGoogleAdMobAds.a中的[GADViewControllerFullScreenSwipeAnimation animateTransition:](GADViewControllerFullScreenSwipeAnimation.o) - libGoogleAdMobAds.a中的[GADViewControllerFullScreenSwipeAnimation animationContextForRestoringAnimationToSavedState:](GADViewControllerFullScreenSwipeAnimation.o) “_OBJC_METACLASS _ $ _ UIPercentDrivenInteractiveTransition”,引自: libGoogleAdMobAds.a中的_OBJC_METACLASS _ $ _ GADPercentDrivenUserInteractionAnimationController(GADPercentDrivenUserInteractionAnimationController.o) “_OBJC_CLASS _ $ _ UIPercentDrivenInteractiveTransition”,引自: libGoogleAdMobAds.a中的_OBJC_CLASS _ $ _ GADPercentDrivenUserInteractionAnimationController(GADPercentDrivenUserInteractionAnimationController.o) ld:找不到架构armv7的符号 clang:错误:链接器命令失败,退出代码为1(使用-v查看调用)
答案 0 :(得分:0)
签入您的目标 - >构建阶段 - > Link Binary With Libraries是否添加了libGoogleAdMobAds?如果是,请检查是否添加了使用AdMob所需的所有框架!
答案 1 :(得分:0)
也许您应该查看最新版AdMob的文档,某些方法可能已在最新版本中弃用并删除,可能不再可用了?
答案 2 :(得分:0)
你可能不会喜欢这个答案,但它对我有用:)
我得到了与你完全相同的错误。当我插入iOS设备时,Xcode会在设备列表中列出设备3次。在我的其他应用程序中,我总是选择在中间应用程序上执行。使用AdMob时,我必须在列表中选择第三个,否则我会收到链接器错误。
如果Xcode为您做同样的事情,请试一试。
由于我不知道为什么Xcode会列出3个设备或者为什么目标设备会改变编译,我将在许多iOS设备上测试我的构建!