例外情况:在使用之前,Google Maps SDK for iOS必须通过进行初始化
我正在尝试使用Swift 2.0将Google Maps SDK实现到我的项目中。 我遵循这个,但是当运行这个,我的应用程序正在收到以下错误:
2015-08-25 19:05:17.337 googleMap[1919:54102] *** Terminating app due to uncaught exception 'GMSServicesException', reason: 'Google Maps SDK for iOS must be initialized via [GMSServices provideAPIKey:...] prior to use *** First throw call stack: ( 0 CoreFoundation 0x00000001058499b5 __exceptionPreprocess + 165 ... ... ... 31 UIKit 0x000000010606699e UIApplicationMain + 171 32 googleMap 0x00000001034b720d main + 109 33 libdyld.dylib 0x0000000107fba92d start + 1 34 ??? 0x0000000000000001 0x0 + 1 ) libc++abi.dylib: terminating with uncaught exception of type NSException
我已经尝试了所有可能的解决scheme从StackOverflow。
你需要在didFinishLaunchingWithOptions中设置这个
GMSPlacesClient.provideAPIKey("Your key") GMSServices.provideAPIKey("Your key")
只需添加到Rajasekaran Gopal
请记住添加
import GoogleMaps import GooglePlaces
然后
GMSPlacesClient.provideAPIKey("Your key") GMSServices.provideAPIKey("Your key")
在didFinishLaunchingWithOptions
这是一个Swift的Google Maps教程:
http://www.appcoda.com/google-maps-api-tutorial/
以下是Google地图文档引用的内容:
第5步:获取iOS API密钥
使用API密钥可以监视应用程序的API使用情况,并确保Google可以在必要时与您联系。 关键是免费的,您可以将它与任何调用Google Maps SDK for iOS的应用程序一起使用,并且支持无限数量的用户。 您可以通过提供应用程序的包标识符从Google Developers Console获取API密钥。
如果您的项目还没有iOS应用程序的密钥,请按照以下步骤从Google Developers Console创buildAPI密钥:
- 在左边的边栏中,select凭证 。
- 如果您的项目还没有iOS API密钥,请通过select添加凭证> API密钥> iOS密钥来创build一个。
- 在出现的对话框中,input您的应用程序的包标识符。 例如:
com.example.hellomap
。点击创build 。
您的新iOS API密钥将显示在您项目的API密钥列表中。 API密钥是一串字符,如下所示:
AIzaSyBdVl-cTICSwYKrZ95SuvNw7dbMuDt1KG0
将您的API密钥添加到您的
AppDelegate.m
,如下所示:
- 添加以下导入语句:
@import GoogleMaps;
- 将以下内容添加到您的应用程序中:didFinishLaunchingWithOptions:方法,用您的API密钥replaceAPI_KEY:
[GMSServices provideAPIKey:@"API_KEY"];
资源
我只是有同样的问题。 我创build了一个GMSMapView对象,并且在可能读取api键之前进行了初始化。 所以我把它移到viewDidLoad方法里面,问题就解决了。
之前:
class ViewController: ..... { let mapView = GMSMapView()
之后:
class ViewController: ..... { var mapView : GMSMapView? override viewDidLoad(){ mapView = GMSMapView()
如果您已经在界面构build器中将GMSMapView
类设置为您的视图,请在包含GMSMapView
的viewController的初始化方法中创buildGMSServices.provideAPIKey("API key")
。