Подтвердить что ты не робот

Error unrecognized selector, отправленный в класс при добавлении SDK карты Google в iOS6

Это одно приложение просмотра, и я выполнил инструкцию, указанную в ссылке     https://developers.google.com/maps/documentation/ios/start для добавления SDK карты google в 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 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];

Он пропускает остальные строки.

4b9b3361

Ответ 1

Вы добавили -ObjC в другие флаги компоновщика, на шаге 7 из инструкции?

- Дополнительная информация: обратите внимание, что -ObjC чувствителен к регистру.

Ответ 2

У меня была та же проблема. Убедитесь, что вы добавили флаг -ObjC в "Настройки сборки" вашего "Целевого" и НЕ "Проект".

P.S. Добавление его в обоих местах также не нарушает его.

Ответ 3

Google Doc говорит Выберите проект, а не конкретную цель, и откройте вкладку "Настройки сборки". В разделе Другие флажки компоновщика добавьте -ObjC. Если эти параметры не отображаются, измените фильтр на панели "Настройки сборки" с "Базовый на все". Иногда это неправильно.... Я должен был добавить флаг компоновщика к цели, чтобы заставить его работать. Это должно помочь кому-то