这是一个单一的视图应用程序,我按照链接给出的说明进行操作 https://developers.google.com/maps/documentation/ios/start 用于将谷歌地图SDK添加到iOS6。 错误是:
unrecognized selector sent to class 0xe2b0
2013-02-07 15:21:29.788 mapApp[2061:12e03] *** Terminating app due to uncaught exception
'NSInvalidArgumentException', reason: '+[GMSCameraPosition
cameraWithLatitude:longitude:zoom:]: unrecognized selector sent to class 0xe2b0'
AppDelegate.m
- (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;
//initializing google map api key
[GMSServices provideAPIKey:@"google's api key goes here"];
[self.window makeKeyAndVisible];
return YES;
}
ViewController.m
#import "ViewController.h"
#import <GoogleMaps/GoogleMaps.h>
@interface ViewController ()
@end
@implementation ViewController
{
GMSMapView *mapView;
}
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
GMSCameraPosition *cam = [GMSCameraPosition cameraWithLatitude:13.0245231
longitude:77.64072579999993
zoom:6];
mapView = [GMSMapView mapWithFrame:CGRectZero camera:cam];
mapView.myLocationEnabled = YES;
GMSMarkerOptions *options = [[GMSMarkerOptions alloc]init ];
options.position = CLLocationCoordinate2DMake(13.025738,77.637809);
options.title = @"ensign";
options.snippet = @"kalyan nagar";
[mapView addMarkerWithOptions:options];
}
的main.m
#import <UIKit/UIKit.h>
#import <GoogleMaps/GoogleMaps.h>
int main(int argc, char *argv[])
{
@autoreleasepool {
return UIApplicationMain(argc, argv,nil, NSStringFromClass([AppDelegate class]));
}
}
在跟踪错误时,它显示在return
的{{1}}语句中,该语句来自执行第一行后的方法main.m
-viewDidLoad
它逃脱了其余部分。
答案 0 :(得分:25)
您是否在the instructions的第7步中将-ObjC
添加到其他链接标记?
-
额外信息编辑:请注意-ObjC
区分大小写。
答案 1 :(得分:8)
我遇到了同样的问题。确保将-ObjC标志添加到“目标”的“构建设置”而不是“项目”。
P.S。在这两个地方添加它也不会破坏它。
答案 2 :(得分:0)
Google Doc说 选择项目而不是特定目标,然后打开“构建设置”选项卡。 在Other Linker Flags部分中,添加-ObjC。如果看不到这些设置,请将“构建设置”栏中的过滤器从“基本”更改为“全部”。 有时这是错误的.... 我不得不将链接器标志添加到目标,以使其工作。这应该有助于某人