cocos2d 使用 cocoapods 安装 google admob ads sdk

1.为什么要用cocoapods

我喜欢搞游戏的一个原因:

游戏不需要涉及太多变化的API。如果你搞多安卓和IOS原生开发就知道了。有些4.X能用的Android API,在2.X就不能用。IOS也是一样,IOS8有增加了不少API。游戏这块本质上就是在画布上画东西,比较纯粹。

软件开发最喜欢的就是使用第三方库。不用重复造轮子。但是接入的第三方库一多起来就会非常麻烦。各种依赖问题。后续升级问题。都是非常头痛。

游戏开发比较蛋疼的是接入各种广告SDK,渠道SDK。好像cocos2d 的AnySDK比较好用,没用过。cocos2d好像也在搞跟cocoapods 功能类似的东西。

搞了半天还没说cocoapods是干嘛用的。搞原生IOS开发的可能对cocoapods比较熟悉,cocoapods就是用来搞第三方库的。

看下cocoapods如何更加方便地安装google admob ads sdk你就知道为什么要使用它了。

2.土办法在cocos2d中使用google admob ads sdk

先准备梯子用搜索引擎搜索 google admob 文档,下载最新的google admob for IOS。整个东西解压出来:

复制到你的游戏项目中,然后XCode,把所有的文件添加进来。这个时候Library Search Path一般都是绝对路径,把它改成相对路径:

$(SRCROOT)/../Ad/GoogleMobileAdsSdkiOS-6.12.2

然后开始编译。出现错误。发现google admob 的系统依赖framework没搞。添加各种framework:

AVFoundation,AdSupport,AudioToolbox,CoreGraphics,CoreTelephony,MessageUI,StoreKit,SystemConfiguration。然后重新开始编译,还是错误。然后各种google 搜索,baidu 搜索。发现蛋疼的最新版google admob还需要EventKit,EventKitUI。 加上它们,继续重新编译。

如果幸运地话会成功。失败的话就要搞Other Linker Flag,加上-ObjC? 最后-force_load "$(SRCROOT)/../Ad/GoogleMobileAdsSdkiOS-6.12.2/libGoogleAdMobAds.a" 总算搞定。

如果IOS升级到9,Google admob就会升级。然后你要把老的全部删除。新的这样重新来一遍,血都会吐光。鬼知道,又少了什么系统依赖导致编译错误。鬼知道会不会正确载入那个xx.a文件。

作为游戏开发者,你只想快点搞定这些蛋疼的第三方SDK接入,好赶快去编写游戏具体的逻辑,而不是在这种地方浪费时间。

幸运的是有Cocoapods,幸运的是google admob 支持Cocoapods。我们来看下用cocoapods安装google admob会是如何的步骤。

3. 使用cocoapods 安装 google admob

假设你的Mac已经安装好cocoapods.

打开终端,输入 pod search google,会列出google的很多支持cocoapods 安装的IOS库。发现admob的名字是叫google-admob-ads-sdk。然后我们换成pod search Google-AdMob-Ads-SDK。搜索结果如下:

好清晰!最新的版本是6.12.2,还有些老的版本,不管它。

然后打开文本编辑工具。我这里使用Sublime2,输入:

platform :ios, ‘5.1.1‘
pod ‘Google-AdMob-Ads-SDK‘, ‘~> 6.12.2‘

然后保存文件名为PodFile,没有后缀,放到你的cocos2d项目中的ios项目目录下。像这样:

然后在proj.ios_mac目录下打开终端,输入pod install。稍等片刻,google admob ads sdk就安装好了,所有的系统依赖都会自动弄好。是不是帅的掉渣?

cocoapods提示叫我们使用Match3.xcworkspace,而不是之前的Match3.xcodeproj. IOS项目目录下多了一些东西,有Podfile.lock,还有一个pods文件夹,里面有最新的Google-AdMob-Ads-SDK  6.12.2。 第一次看到这个的时候太叼了。

接着我们打开Match3.xcworkspace,

发现在游戏项目种多了一个Pods的文件夹,里面有两个配置文件。另外下面多了一个Pods的项目,它会生成libPod.a和libPods-Google-AdMob-Ads-SDK.a。

非常高兴地开始编译整个游戏。可惜遇到了编译错误:cocos2d.h not find!,血吐光!!不是说要cocoapods安装会好些吗?怎么搞的?

打开Pod.debug.xcconfig 和 Pod.release.xcconfig中的

HEADER_SEARCH_PATHS 和 LIBRARY_SEARCH_PATHS中加入$(inherited)

完整如下:

GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/Google-AdMob-Ads-SDK"
LIBRARY_SEARCH_PATHS = $(inherited) "$(PODS_ROOT)/Google-AdMob-Ads-SDK/GoogleMobileAdsSdkiOS-6.12.2"
OTHER_CFLAGS = $(inherited) -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/Google-AdMob-Ads-SDK"
OTHER_LDFLAGS = -ObjC -l"GoogleAdMobAds" -l"Pods-Google-AdMob-Ads-SDK" -framework "AVFoundation" -framework "AdSupport" -framework "AudioToolbox" -framework "CoreGraphics" -framework "CoreTelephony" -framework "EventKit" -framework "EventKitUI" -framework "MessageUI" -framework "StoreKit" -framework "SystemConfiguration"
OTHER_LIBTOOLFLAGS = $(OTHER_LDFLAGS)
PODS_ROOT = ${SRCROOT}/Pods

继续编译,还是出错,又是libGoogleAdMobAds.a的问题。

在Other Linker Flag,加上 -force_load "$(PODS_ROOT)/Google-AdMob-Ads-SDK/GoogleMobileAdsSdkiOS-6.12.2/libGoogleAdMobAds.a"

总算搞定:

3.使用cocoapods总结

虽然还是遇到了头文件搜索目录和.a文件载入的问题,但是已经比原始的土办法好了很多。

1.它自动地解决了系统依赖库的问题

2. 解决后后续更新的问题。后续更新只需要先更改PodFile的版本号,输入pod update就OK了。

3. 所有第三方库都放在一个pods项目中,比较有调理。

当然这只是简单地接入google admob ads sdk,要真正使用它,还是要仔细地看文档。有什么banner Ad,全屏Ad,各种banner Ad尺寸,还有banner Ad位置等等。以后有空介绍下它们。

4. 安装cocoapods

安装cocoapods我放到了最后讲,因为比较简单:

gem sources --remove https://rubygems.org/
gem sources -a http://ruby.taobao.org/
sudo gem install cocoapods
pod setup

因为在天朝,那个源被墙了,所以要先移除,然后换成淘宝的源。然后gem install cocoapods就可以了。要等待比较久的时间,因为总共cocoapods大概在50-80MB大小。

http://www.waitingfy.com/archives/1509

时间: 2024-10-19 19:53:29

cocos2d 使用 cocoapods 安装 google admob ads sdk的相关文章

Linux下安装Google SDK 配置Google API翻译环境

1.准备工作 1.1 查看系统Python版本 Linux 安装Google SDK时要求安装Python 2.7或以上版本 可以用 python -V 查看当前环境下的 Python 版本. 若Python版本低于2.7,需要重新安装Python,并设为默认Python 1.2 下载Google SDK cd到你想保存Google SDK的位置,执行 wget https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-c

iOS平台加入Google Admob -1/2(Unity3D开发之七)

猴子原创,欢迎转载.转载请注明: 转载自Cocos2D开发网–Cocos2Dev.com.谢谢! 原文地址: http://www.cocos2dev.com/?p=567 Unity调用iOS还是非常easy的,晚上空暇时间写了unity在IOS平台载入Google Admob.须要的朋友能够看下. 一.首先编写Admob的iOS的代码.请去https://apps.admob.com下载iOS Admob SDK, 并注冊app id.假设这一步不熟悉.请自行Google,网上应该非常多.

iOS平台添加Google Admob -1/2(Unity3D开发之七)

猴子原创,欢迎转载.转载请注明: 转载自Cocos2D开发网–Cocos2Dev.com,谢谢! 原文地址: http://www.cocos2dev.com/?p=567 Unity调用iOS还是非常简单的,晚上空闲时间写了unity在IOS平台加载Google Admob.需要的朋友可以看下. 一.首先编写Admob的iOS的代码.请去https://apps.admob.com下载iOS Admob SDK, 并注册app id.如果这一步不熟悉,请自行Google,网上应该很多. 1.I

Google Admob广告Android全攻略1

一.登录Google AdMob中文官网:http://www.google.cn/ads/admob/   ,注册帐号. 1.点击注册AdMob帐号 2.进入Google帐号注册页面,因为要创建一个AdMob帐号,必须先要一个Google帐号 如果你已经有一个Google的话,就可以直接登录,如果没有的话,就要注册,注册很简单,成功后,会给你的注册邮箱发一个邮件. 3.进入邮箱,打开邮件的连接,会提示你帐号已经激活. 你可以在选择绑定手机,这样你的Google账户更加的安全点. 4.再次登录G

Android Google AdMob 广告接入示例

Android Google AdMob 广告接入示例 [TOC] 首先请大家放心,虽然 Google搜索等服务被qiang了,但是 广告服务国内还是可以用的,真是普天同庆啊~~~噗! 其实这篇文章也只是记录我接入 AdMob 的过程,更具体的其实 Google 官方给的更详细(配图和视频还有GitHub 的demo 示例等),所以不想看官方(毕竟大部分英文)的可以看我写的,如果已经看了官方或者有了解了可以重点看我** 加粗 **的地方,方便你快速找到你想要的信息. Google 官方引导:ht

iOS开展-CocoaPods安装和使用教程

原文链接: iOS开展-CocoaPods安装和使用教程 修正已经增加了自己的理解. CocoaPods安装和使用教程 Code4App 原创文章.转载请注明出处:http://code4app.com/article/cocoapods-install-usage 文件夹 CocoaPods是什么? 怎样下载和安装CocoaPods? 怎样使用CocoaPods? 场景1:利用CocoaPods,在项目中导入AFNetworking类库 场景2:怎样正确编译执行一个包括CocoPods类库的项

iOS开发-CocoaPods安装和使用教程

原文链接: iOS开发-CocoaPods安装和使用教程 本文是对原文一些错误的修正已经添加了自己的理解. CocoaPods安装和使用教程 Code4App 原创文章.转载请注明出处:http://code4app.com/article/cocoapods-install-usage 目录 CocoaPods是什么? 如何下载和安装CocoaPods? 如何使用CocoaPods? 场景1:利用CocoaPods,在项目中导入AFNetworking类库 场景2:如何正确编译运行一个包含Co

CocoaPods安装和使用教程(转)

CocoaPods安装和使用教程 Code4App 原创文章.转自:http://code4app.com/article/cocoapods-install-usage 目录 CocoaPods是什么? 如何下载和安装CocoaPods? 如何使用CocoaPods? 场景1:利用CocoaPods,在项目中导入AFNetworking类库 场景2:如何正确编译运行一个包含CocoPods类库的项目 CocoaPods是什么? 当你开发iOS应用时,会经常使用到很多第三方开源类库,比如JSON

【IOS】CocoaPods安装总结

CocoaPods安装总结 网上有一些教程,但是各有偏重,感觉不够完整,所以笔者汇总了一些网友的教程,并亲自验证安装了,并总结如下 1    在Mac上安装Ruby on Rails(ok) 在Mac上安装Rubyon Rails http://blog.csdn.net/keyboardota/article/details/8935411 2    mac 系统下autoconf automake安装(ok) curl -O http://mirrors.kernel.org/gnu/m4/