With my Corporate Directory CapStone project I found myself needing to format a phone number in phone fields like cell phone, home phone, office phone, etc. I was surprised to find this is not as easy on an iPhone as you may think. Even though clearly Apple has this functionality in Contacts they have no Public API for phone formatting. You may think what’s the big deal anyhow. Well, in the US you could have a leading 1 or not and you want to be consistent with area code segmentation and then there are international numbers. I started looking on stackoverflow but thought there ought to be a better way than implementing my own NSFormatter.After looking around I found a good GitHub project by Willy Shark, A.K.A. Serheo Shatunov, called SHSPhoneComponent. The good news is it also has a CocoaPod.
In this post I’ll outline how to integrate this CocoaPod into your project.
1. First, update your Podfile with the below and do a pod update:
Then using the Identity Inspector set the custom class of the UITextField to this SHSPhoneTextField.
3. In your View’s include the following libraries:
4. In your View’s ViewDidLoad method
One thing to note is that in line 2 above the addOutputPattern: requires a regular expression in order to have a pattern to match. One site I found which helped me test my regex with my data was a regular expression calculator at rubular.
Make yourself useful.