Тканина / Crashlytics реєструє наступну аварію (досить багато аварій), і я не можу зрозуміти, що це викликає
Cannot remove an observer<VKMapAnnotationTrackingCameraController 0x155058110> for the key path "heading" from <MKUserLocation 0x153b60790> because it is not registered as an observer.
Я припускаю, що це відбувається від мого MKMapView
де я дозволяю користувачеві встановлювати тип карти MKUserTrackingModeFollowWithHeading
, але я ніде не додаю спостерігача.
Чи може це бути просто помилкою MapKit? Поки що було 32 краху за останні 30 днів, що здається дуже багато.
Відповіді:
0 для відповіді № 1У мене була подібна аварія з MapKit, починаючи з OS 4.x. Під "схожим" я маю на увазі, що це було пов'язано з КВО і спостерігачами, але я не пам'ятаю деталей.
Проблема була: У мене був клас, який впроваджував протокол MKAnnotation. Але в цьому класі я звертався до властивості координат без використання KVO (безпосередньо через відповідний ivar): _координат = .... замість self.coordinate = ...
Схоже, що Mapkit тепер (починаючи з ОС 4) спирається на повідомлення KVO для відстеження позиції анотацій.