У меня есть код, который отлично работал до 3 дней назад. Я попытался вернуться к гораздо более старой фиксации, которая работала на 100%, и теперь она сбой с exc_bad. Сбой происходит только при запуске приложения на устройстве. Если я запускаю приложение на симуляторе или использую инструменты для запуска приложения на устройстве, он работает отлично. Когда я изменил свой ключ api google, он сказал: "У вас может не быть разрешения на использование этого ключа api", но больше не разбился.
Приложение запускается только при запуске приложения на устройстве с помощью xcode. При последующем запуске той же версии на устройстве, не подключенной к xcode, она работает нормально.
Я не уверен, какую информацию я могу добавить здесь, чтобы помочь отладить проблему. Недавно я обновил xcode до 6.4 и обновил OSX с последним обновлением.
Я использую версию google 1.10.1 sdk, установленную с использованием CocoaPods
Код, который я использую для добавления карты:
self.mapView = [GMSMapView mapWithFrame:self.view.bounds camera:camera];
self.mapView.myLocationEnabled = YES;
self.mapView.settings.myLocationButton = YES;
self.mapView.delegate = self;
[self.mapView addObserver:self
forKeyPath:@"myLocation"
options:NSKeyValueObservingOptionNew
context:NULL];
[self.view insertSubview:self.mapView atIndex:1];
Сама ошибка изменяется между кодом = 1, кодом = 2 и кодом = 257. Я попытался добавить GMSMapView с раскадрой вместо кода. Я попытался установить более старую версию xcode и снова запустить, но ничего не меняет.
Если я прокомментирую строку вставки вставки, это приложение не сработает. Я попытался запустить инструмент инструмента для зомби, но когда я запускаю инструменты, приложение работает нормально.
#0 0x0000000100c5dc34 in EAGLContext_renderbufferStorageFromDrawable(EAGLContext*, objc_selector*, unsigned long, id<EAGLDrawable>) ()
#1 0x00000001002404c0 in gmscore::renderer::ios::GLRenderTarget::CreateFramebuffer() ()
#2 0x00000001002403cc in gmscore::renderer::ios::GLRenderTarget::FrameStart() ()
#3 0x00000001002e7af4 in gmscore::renderer::EntityRenderer::Draw(bool) ()
#4 0x00000001002516f4 in -[GMSPhoenixRenderer drawIfNeeded] ()
#5 0x00000001002329a0 in -[GMSEntityRendererView draw] ()
#6 0x000000010028dc74 in -[GMSDisplayLink displayLinkFired:] ()
#7 0x0000000100c5ca9c in -[DYDisplayLinkInterposer forwardDisplayLinkCallback:] ()
#8 0x00000001887f629c in CA::Display::DisplayLinkItem::dispatch() ()
#9 0x00000001887f6134 in CA::Display::DisplayLink::dispatch_items(unsigned long long, unsigned long long, unsigned long long) ()
#10 0x00000001855d1470 in IODispatchCalloutFromCFMessage ()
#11 0x00000001843c2dc4 in __CFMachPortPerform ()
#12 0x00000001843d7a54 in __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ ()
#13 0x00000001843d79b4 in __CFRunLoopDoSource1 ()
#14 0x00000001843d5934 in __CFRunLoopRun ()
#15 0x00000001843012d4 in CFRunLoopRunSpecific ()
#16 0x000000018db1f6fc in GSEventRunModal ()
#17 0x0000000188ec6fac in UIApplicationMain ()
#18 0x000000010002d794 in main at /Users/yoavschwartz/Documents/donkey_republic_ios/DonkeyRepublic/DonkeyRepublic/main.m:14
#19 0x0000000196272a08 in start ()
Эта проблема, казалось, решила себя при перезапуске компьютера/устройства и теперь снова выскочила. Я действительно не понимаю, что происходит.