
Background of the application - on android phones when installing the VKontakte application, it is possible to use it as a contact book provider - to synchronize contacts from the social network with contacts in the address book. In this case, the avatar, date of birth, address, phone numbers, etc. When I, after prolonged use of HTC Wildfire S, appreciated and got used to this opportunity so much that I wanted to find something similar on an iPhone. I didn’t find it, so we took it and made it our own -
VK synchronizer :)

It was back in November last year. The application itself was done fairly quickly - it uses quite a few functions of both the API of VKontakte and the functions of working with the iPhone address book. But when we started to deal with the automatic search for matches, it became more fun. Head-to-head comparison by name, last name and phone number was easy, simple, and it worked quickly. But I found only 20 percent of contact matches from what the provider finds in the android.

')
Naturally, only direct coincidence did not suit us. Initially, they added translit in both directions (that is, the name and surname were alternately transformed and compared from the address book and the list of friends on vkontakte). Then they added recognition of parts of phones without codes (sometimes people have the same contact number recorded without any codes at all, and even with the country code they call them differently here and there, but in fact they are one and the same person).
The most recent one added a comparison on the basis of the synonyms of names, now the results of the auto search for matches began to really impress. At the same time began to impress and speed. On the iPhone 3GS 400 with the little things VKontakte friends superimposed on an address book of 120 people for about 18 minutes.
Naturally, this did not suit anyone at all, so the stupid solution "in the forehead" in the form of a bundle of nested cycles was simplified for a long time, they got rid of nesting, at the same time they caught a number of bugs. Now in the same conditions, the wait time is 40 seconds on WIFA and 1.5 minutes on 3G.
It is time to publish the application in the AppStore. It seems like nothing foreshadowed trouble, but this process took quite a long time. Initially, the application was rejected after a week and a half after being sent to the review due to "we do not have a test account to check." Ok, we send them a test account. After another week or so, again we receive a letter of happiness “we get an error after login”. Bug looked pretty cute. Like this:

We searched forums and documentation for quite a while, trying to figure out what it was. But they dug even longer when they realized what a
security breach is in this case and how do you get around it?
Then for whom the news is for whom it is not news, but when logging in via a third-party application from VKontakte, as well as on its own website, the restriction is triggered if you log in from an “unusual place”. In this case, another country. Only on the site you are asked to enter the last 4 digits, but through OAuth you just give an error. If someone really knows the working version of error handling in this case - say. We did not find, and in order to force a review, I simply logged in under a test account through a proxy in Cupertino. After that, the censors seemed to start up normally, since recently they, nevertheless, normally published it in the App Store.
Here is a brief summary of the functionality of what we did:

As always, for habrazhiteli I have in stock 10 promotional codes. I am waiting for a message in a personal and I hope that you will like it. We use - it is convenient for us.
Link to application: itunes.apple.com/ru/app/sinhronizator-vkontakte/id490603954