2013-03-24 39 views
1

当我尝试添加谷歌地图根据这个链接Google MAP如何添加谷歌地图到iOS6的SDK

到iOS6的和我得到的API密钥,并把它放在我的应用程序,但它坠毁的原因“谷歌地图SDK适用于iOS必须通过[GMSServices ProvideAPIKey:...]被初始化”

任何机构可以帮助我,给我的视频怎么做任何事情...

#import "AppDelegate.h" 
#import <GoogleMaps/GoogleMaps.h> 
#import "ViewController.h" 

@implementation AppDelegate 

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{ 
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; 
// Override point for customization after application launch. 
self.viewController = [[ViewController alloc] initWithNibName:@"ViewController" bundle:nil]; 
self.window.rootViewController = self.viewController; 
[self.window makeKeyAndVisible]; 
return YES; 
[GMSServices provideAPIKey:@"AIzaSyBoOGGGQnvDydbKcxGeB1of6wu2ibE6Rjk"]; 

} 

回答

8

你做step 8 here

如果你这样做,你可以用你的application:didFinishLaunchingWithOptions:方法的代码更新你的问题吗?

UPDATE:

移动呼叫到[GMSServices provideAPIKey:]越往上在application:didFinishLaunchingWithOptions:方法,该行之前某处:

self.window.rootViewController = self.viewController; 

此线设置根视图控制器,这将导致视图控制器的通过调用loadView来分配根视图。在Google的示例代码中,loadView就是创建GMSMapView的原因,因此,现在您已使用代码创建GMSMapView,然后再提供API密钥,导致Google Maps SDK for iOS崩溃。

另外,顺便说一下,您在return语句后将您的呼叫置于[GMSServices provideAPIKey:],因此它永远不会被调用。

+0

我更新了代码的问题... – 2013-03-25 03:39:10

+0

嗨@TaherZaki,我已经添加了一个更新应该解决这个问题。 – 2013-03-25 04:58:32

+0

可以请你检查一下,并给我一些信息http://stackoverflow.com/questions/20322927/error-using-google-maps-in-ios/20324862?noredirect=1#20324862 – chandru 2013-12-09 04:50:56

0

将您的GMSServices providesAPIKey移动到didFinishLaunchingWithOptions的顶部, 可以解决您在提供API密钥之前返回的问题。

+0

谢谢你现在运行。 – 2013-03-25 04:56:01

0

如果你移动它,仍然得到一个错误,这里是我做过什么:

将文件复制GoogleMaps.bundle文件到Xcode中的框架文件夹

“GoogleMaps.framework /版本/A/Resources/GoogleMaps.bundle”

..和确保它在你的目标(没有项目)在构建阶段设置‘复制包资源’

+1

我试过了,结果是一样的。 – htjohn 2015-06-27 21:32:03

0

启动委托这样的,而不是你的:在方法viewDidLoad中

[GMSServices provideAPIKey:@"myAPIKey"]; 

,现在,它的工作原理:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{ 
    [GMSServices provideAPIKey:@"AIzaSyB2LJ2ppIVtkNh0lkG9J1tXW2RcHtI0FKY"]; 
    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; 
    ////// 

} 
0

我搬到这条线。