错误无法识别的选择发送到类,同时增加谷歌地图SDK到iOS6的(error unrecognized

2019-07-19 12:46发布

这是一个单视图应用程序,我随后在链路中给出的指令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中声明main.m它来源于方法-viewDidLoad执行第一行后

GMSCameraPosition *cam = [GMSCameraPosition cameraWithLatitude:13.0245231 
                                                    longitude:77.64072579999993                
                                                         zoom:6];

它会把线的其余部分。

Answer 1:

你添加-ObjC到其它链接器标记,在第7步的说明 ?

-额外信息编辑:请注意, -ObjC是区分大小写的。



Answer 2:

我有同样的问题。 确保你的-ObjC标志添加到“构建设置”你的“目标”而不是“工程”。

PS在这两个地方添加它没有任何打破它。



Answer 3:

谷歌文档说选择你的项目,而不是一个具体的目标,并打开生成设置选项卡。 在其它链接器标记部分,添加-ObjC。 如果这些设置是不可见的,在从基础到所有生成设置栏中更换过滤器。 有时候,这是错的....我不得不链接标志添加到目标为好,得到它的工作。 这应该帮助别人



文章来源: error unrecognized selector sent to class while adding Google Map SDK to iOS6