The Background:
Since iOS6 was released the iPhone and iPad maps have switched over from using Google maps to Apple’s own maps. This affects both the normal ‘Maps’ app and any apps, like CamerAlert, that use what is known as ‘MapKit’.
The Problem:
There is a bug in the iOS6 version of MapKit whereby the map tiles continually fill up spare memory on the device and it doesn’t get freed up. On the newer handsets like the iPhone 5 and iPhone 4S this does not seem to be a problem as they have a lot more RAM in them. The iPhone 4 however doesn’t have as much RAM and you will find that after a short period of displaying the maps in the app it will appear to crash. Technically it isn’t crashing – if you sync with iTunes you will not see any crashlogs for CamerAlert. What you do see, however, are Low Memory logs.
The Apple Developer Forums have countless developers complaining about the same issue as we are seeing – that their map-using apps are causing massive memory issues and being shut down by the phone’s operating system. We were hoping it would be fixed in iOS 6.1… Then we were hoping it would be fixed in iOS 6.1.1… Then we were hoping it would be fixed in iOS 6.1.2… You get the picture, right?
The Solution:
While we can’t do anything other than wait for Apple to fix their bug, we can at least keep your app running for you. If you are affected by this issue then you can go to the settings (the cog at the bottom right of the main screen) and select: Show map: ‘never’ (see below)
This is usually referred to as ‘List view’ and will allow you to get alerts and see what cameras are nearby without needing to load the map. When the maps are not loaded the app doesn’t ‘crash’. Unfortunately there’s little more we can do until Apple get their act together…