Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Updated README

  • Loading branch information...
commit d5eb5ad5415f70500cf1cfa40f914c7afd1bf7a5 1 parent 592d129
Cédric Luthi authored
Showing with 14 additions and 1 deletion.
  1. +14 −1 README.md
15 README.md
View
@@ -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.
+
+Requirements
+============
+* **ABGetMe** requires iOS 4.0 or later.
+* **ABGetMe** can be compiled either with or without Automatic Reference Counting (ARC).
Usage
=====
@@ -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.
Please sign in to comment.
Something went wrong with that request. Please try again.