【发布时间】:2016-06-30 06:37:36
【问题描述】:
假设:
- 我已经为 Google Analytics 配置了 CocoaPods,使用
pod 'Google/Analytics,遵循 官方安装指南: https://developers.google.com/analytics/devguides/collection/ios/v3/?ver=swift - 我已经为 AdMob 配置了 CocoaPods,使用
pod 'Google-Mobile-Ads-SDK', '~> 7.0',遵循 官方安装指南: https://developers.google.com/admob/ios/quick-start#streamlined_using_cocoapods - 我使用此处报告的按钮生成了
GoogleService-Info.plist配置文件,指定了 Analytics 和 AdMob 服务:https://developers.google.com/analytics/devguides/collection/ios/v3/?ver=swift#get-config
当我启动应用程序时,我收到警告:
您已在开发者控制台中启用了 AdMob 服务,但它 看起来好像您的 Podfile 缺少以下行:'pod “Google/AdMob”或者您可能需要在您的项目中运行
pod update目录。
然后应用程序因错误而崩溃:
断言失败:配置 Google 服务时出错:可选(错误 Domain=com.google.greenhouse Code=-106 "缺少预期的子规范。" UserInfo={NSLocalizedFailureReason=某些子规范不是 pod 安装。有关详细信息,请参阅日志。,NSLocalizedDescription=Missing 预期的子规范。}):文件 /myapp/AppDelegate.swift
这是由断言行抛出的,谷歌分析文档说要添加到AppDelegate.swift文件中的这段代码:
// Configure tracker from GoogleService-Info.plist.
var configureError:NSError?
GGLContext.sharedInstance().configureWithError(&configureError)
assert(configureError == nil, "Error configuring Google services: \(configureError)")
我尝试替换
pod 'Google-Mobile-Ads-SDK', '~> 7.0' 与 pod 'Google/AdMob'
应用程序不再崩溃,但我收到警告:
您当前使用的 SDK 版本为 7.6.0。请考虑 将您的 SDK 更新到最新的 SDK 版本以获取最新版本 功能和错误修复
这是我的完整 Podfile:
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '8.0'
use_frameworks! # needed when using Swift
target 'myProject' do
pod 'Google/Analytics'
pod 'GoogleIDFASupport'
pod 'Google-Mobile-Ads-SDK', '~> 7.0'
pod 'Fabric'
pod 'Crashlytics'
pod 'SQLite.swift', '~> 0.9.2'
end
【问题讨论】:
-
如果您自己也导入移动广告 SDK 也会发生这种情况?
-
@Chauduyphanvu,这是CocoaPod的问题,所以和CocoaPod版本有关
标签: ios swift google-analytics admob cocoapods