For the ProductLayer sign-up form I wanted to make sure that the user can only send a sign up if the email address is valid. If you google for ways to validate an email address you most often solutions involving regular expressions. But since I don’t trust a RegEx unless I know it by heart, I implemented the validation with Apple’s own NSDataDetector for links.
Over the last 8 months I worked almost exclusively on my book on Barcodes with iOS 7. That meant that during this time I could not take on any new projects. That has changed now, that my book is feature complete. There are some edits remaining to be made, as well as adding info on enhancements coming in iOS 8.
But as I need to earn a living I am now back on the market for taking on project work. I am acting Developer Evangelist for our Product Layer startup and am now looking for contract work to fill the income gap. I’ve summarized my skills and interests for your reference.
I was very surprised when I heard about Swift. I was curious what your thoughts are about Swift and phasing out Objective-C specifically since you are in the process of writing the Barcodes book. Are you going to update your book to use Swift instead of Objective-C?
This problem was encountered by me while research for chapter 7 of my book. Apparently other developers have encountered it as well as you can see from several questions on Stack Overflow:
- iOS 7 Ranging beacons: Sometimes ranging is Unavailable, and the only solution is reboot the device
- locationManager:rangingBeaconsDidFailForRegion:withError: kCLErrorDomain 16
- iBeacon: didRangeBeacons stops getting called, must reset device for it to work again
So I am filing this as a dupe hoping for it to be fixed in iOS 8. Or if not, that it will become more visible to Apple.
Filed as rdar://17003408 and on Open Radar.
This gotcha became apparent to me while putting together the sample app for the seventh and last chapter of my book. There I am monitoring for the 10 regions from a plist which are closest to the user. I was removing all monitored regions and re-added the 10 I am interested in. To update the state I called the requestStateForRegion: but didn’t get a state update. Instead the monitoring failed with error code 5. Fortunately a workaround is possible.
Submitted as rdar://16986842 and to OpenRadar.
There are two kinds of Geocoding which you might encounter: forward and reverse. The class doing that for you in iOS is CLGeocoder. It is both capable of doing it forward (from address to lat/long) and reverse (from geo coordinates to placemarks). For this tutorial we will build an app that lets you search for addresses and display the results individually on a map view.