Please sign in to comment.
- Loading branch information...
|@@ -5,7 +5,14 @@ Unlike the Mac Address Book API, the iOS Address Book API does not come with the|
|![Contacts Settings](https://raw.github.com/0xced/ABGetMe/master/MyInfo.png "My Info")|
|-If *My Info* is not found, then **ABGetMe** will try to match your e-mail account addresses to find the *me* record.|
|+If *My Info* is not found, then **ABGetMe** tries to match the configured e-mail account addresses with the records of the address book to find the *me* record.|
|+If the *me* record is still not found, then **ABGetMe** finally tries to extract the device owner's full name from the device name in order to find the *me* record. This technique was explained by John Feminella in his answer to [How does Square know my name in their app's registration process?](http://www.quora.com/Square-company/How-does-Square-know-my-name-in-their-apps-registration-process/answer/John-Feminella) on Quora.|
|+* **ABGetMe** requires iOS 4.0 or later.|
|+* **ABGetMe** can be compiled either with or without Automatic Reference Counting (ARC).|
|@@ -24,3 +31,9 @@ Limitations|
|**ABGetMe** is not *legally* App Store compliant because it uses undocumented APIs which is proscribed by clause 3.3.1 of the iPhone Developer Program License Agreement. It is *technically* App Store compliant though as it will pass the App Store validation. Moreover, it should not crash even if the undocumented APIs change in the future.|
|+* Reading *My Info* from the Contacts settings uses undocumented APIs.|
|+* Reading configured e-mail account addresses uses undocumented APIs.|
|+* Reading the device name is a public API.|
|+You can disable private APIs by setting `ABGETME_ENABLE_PRIVATE_APIS` to `0` instead of `1` at the top of the `ABGetMe.m` file. Note that disabling private APIs considerably reduces the chances of finding the *me* record. The only method left to find the *me* record when disabling private APIs is the last one (i.e. matching the device name) which only works if the device owner never changed the default device name.|