设置
我已经成功地使用CocoaPods将GoogleMaps SDK集成到我的Swift 2项目中。
我的设置基本上是根据Ray Wenderlich教程所建议的。
我唯一能找到的区别是,我必须在AppDelegate中添加这行代码:
import UIKit
import GoogleMaps // <- THIS LINE
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate
{
...
为了使用框架的类,教程建议导入以下内容:
#import <GoogleMaps/GoogleMaps.h>
将其添加到桥接头文件中即可。
应用程序可以正常工作。
问题:
当我尝试运行由Xcode自动生成的测试目标时,出现以下错误:
找不到模块“GoogleMaps”
...指向上面AppDelegate.swift文件中的swift导入语句。
所以,我决定改为使用教程中的方法:在AppDelegate.swift中注释掉import GoogleMaps
这一行,并在桥接头文件中添加一个Objective-C样式的导入语句。
然而,我无法正确地实现它:
如果我使用:
#import <GoogleMaps/GoogleMaps.h>
或#import "GoogleMaps/GoogleMaps.h"
,则会在构建应用程序目标时在AppDelegate.swift处报错:未解决的标识符“GMServices”
如果我使用:
#import "GoogleMaps.h"
,则会在桥接头文件中报错:无法找到文件“GoogleMaps.h”
我已经尝试了这个答案中的解决方案,但结果仍然相同(令人困惑)...
接下来,我检查了两个目标(应用程序和测试)的Build Settings / Search Paths / Framework Search Paths
的值。应用程序目标具有以下条目:
"${PODS_ROOT}/GoogleMaps/Frameworks"
...而测试目标则没有,所以我添加了它,并恢复了swift样式的导入语句(至少在构建应用程序目标时是有效的),但我仍然遇到了问题:
import GoogleMaps <! No such module 'GoogleMaps'
如何为我的应用程序运行测试?