无法在Swift AppDelegate文件中访问Google Map Framework

时间:2014-06-23 09:35:52

标签: ios google-maps swift google-maps-sdk-ios xcode6

我正在研究Swift,并且正在努力弄清楚如何整合Google Map SDK框架。我在Xcode 6中创建了一个新项目,根据适用于iOS的Google Map SDK说明导入了所需的框架。

但是,当我使用(导入)导入Google Maps框架到AppDelegate.swift文件时,框架无法识别。

无法在任何地方找到解决方案。请帮忙。

3 个答案:

答案 0 :(得分:11)

导入Google Maps iOS SDK后,您需要定义桥接头,然后才会识别SDK。

要创建此桥接头,请将任意Objective-C文件(例如:.m文件)添加到项目中。 Xcode会提示您是否要为您配置桥接头。

点击继续。

-Bridging-Header.h结尾的文件将添加到您的项目中。

只需在桥接标题中添加#import <GoogleMaps/GoogleMaps.h>,您就可以开始了!

此外,现在删除该临时Objective-C文件是安全的。

答案 1 :(得分:1)

您现在可以通过CocoaPods安装SDK,并且您不需要添加桥接标头。查看本教程(Google Maps iOS SDK Link),只需将以下代码添加到AppDelegate的didFinichLaunchingWithOptions函数中。

GMSServices.provideAPIKey("API_KEY")

答案 2 :(得分:0)

将临时Objective-C文件添加到项目中。你可以给它任何你喜欢的名字。

选择“是”以配置Objective-C桥接标头。

删除刚刚创建的临时Objective-C文件。

在刚创建的projectName-Bridging-Header.h文件中,添加以下行:

&#39; #import&lt; GoogleMaps / GoogleMaps.h&gt;&#39;

编辑AppDelegate.swift文件:

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {

    GMSServices.provideAPIKey("AIza....") //iOS API key

    return true
}

Follow the link获取完整样本