On the last working day of May, I handed in the 7th and final chapter of my book. This chapter on Geofencing and iBeacons rounds off the offering of all technologies in iOS you need to know to build apps centring around physical products.
Radar: Ranging of iBeacons might fail if beacon is emitted on same device
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.
Radar: Monitoring CLRegion immediately after removing one fails
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.
Forward Geocoding
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.
Radar: Search Bar jumps around and disappears
iOS 8 might be around the corner and things like this are probably fixed. Still, that does not mean you shouldn’t file your grievences. On this Radar Apple is getting two bug reports for the price of one.
Filed as rdar://16938543 and on Open Radar.
Book Updated (Again)!
Readers of my book get good news today! My publisher Manning released a new chapter for the early-access-version of the book.
Previously available chapters 1 through 5 have seen lots of improvements and clarifications based on valuable reader feedback as well as the keen eyes of my editor. The first 3 chapters are now locked for pre-production. That means that various experts are honing in on the manuscript and are putting the polish on for the bound book release!
It’s shaping up to be a really awesome publication. If you haven’t pre-ordered the book via Manning’s Early Access Program (MEAP) then please do so today!
Radar: Support testing of region monitoring in Simulator
A bit of an annoyance when trying to implement geographic region monitoring.
Filed as enhancement request as rdar://16924908 and on Open Radar.
DTFoundation 1.6.3
This maintenance update to DTFoundation fixes an issue with DTFolderMonitor. The update is available via GitHub tag or Cocoapods.
Radar: Add global prototype cells
If you like storyboards you might be wanting to use them for larger apps too. But there is source of frustration for us developers. If you have prototype cells that are identical on multiple table view controllers you cannot easily copy them. I filed a feature suggestion for adding global prototype cells.
Filed as rdar://16754279 and on Open Radar.