Ever since I updated to iOS 6, I had been having issues with Viber crashing out within a span of 20 seconds with no help from my side. I just had to run Viber and leave it. Sure enough, it would crash within 20 seconds. I could dial and talk to anyone on Viber, but, it would still crash out in the same time frame.
After trying all the usual stuff like re-installing and even re-flashing the iPhone, the problem persisted. Initially, I just installed a couple of similar alternate applications and some of them exhibited a similar behaviour as Viber did. They would either freeze or crash out.
Since applications are sandboxed, it was obvious it had to be something related to iOS that Viber and these apps had in common. Further analysis on these lines revealed the issue and also a bug in the OS X address book app.
I had TrueCaller installed with the option of adding the spam numbers to my address book. That way, I could see a spam call/message and ignore it. I also put a “silent” ringtone on the TrueCaller spam numbers so it would not create a disturbance.
It seems that iOS 6 handles the huge contact list of the TrueCaller numbers differently from 5.x where I never had this issue. The “Protected by TrueCaller” contact had hundreds of numbers (possibly thousands) and all the apps that were looking at the address book had issues there. So, the obvious solution was to delete the contact and resolve the issue.
Not quite as simple as that. On the iPhone, you could potentially scroll forever to get the the delete contact option. So, I simply ran the address book on my Mac and typed “Tru” in the search to get to the TrueCaller contact and delete it. Not to be. The address book on Mountain Lion froze every time I entered a search matching the “Protected by TrueCaller” contact. Okay, so, I tried scrolling to the contact and same issue. The moment the address book get to that contact, it just freezes!
Ultimately, I logged into my iCloud account on the web and managed to delete the contact. Interestingly, although the contacts were synced and removed from my iPad and iPhone 4, my own iPhone 4S would just not remove the contact. I tried deletion from one of the contact managers I have installed on my iPhone 4S and it failed. I then installed a couple of other contact managers and seems their asking for permission to access the address book fixed the deletion.
Finally, I had to dispense with the TrueCaller contact and I have Viber and all other similar apps functional again. In case anyone has similar issues, try to check your contacts for a large number of numbers/email IDs etc. That could be the problem when using iOS 6 and ML.