BuySellAds.com

My book Barcodes with iOS 7 is nearing completion. Buy it now to get early access!
Our DNA is written in Objective-C
Jump

Can you Smell the iBeacon?

iBacon

iBeacons are one of the hot new topics introduced with iOS 7, though I have not seen any actual real life use case for it.

Last week I received my Developer Preview Kit from Estimote and also I have begun to research iBeacons for inclusion in the book I am currently working on. Here are my findings.

There are two words that you should know to understand the difference between the two modes of operation:

  • Monitoring – this refers to a low-power region-monitoring, you get didEnterRegion: and didExitRegion: delegate messages
  • Ranging – this means a higher-power activity where you get the signal strength from individual iBeacons and can estimate distance to them from this

Read more

DTCoreText 1.6.9

This new version improves DTCoreText on many fronts. I wanted to get this out because quite a few improvements had amassed since 1.6.8.

Read more

Radar: Accessibility-based Tools crash app running in iOS 7 Simulator

This bug in iOS Simulator is interesting because it is the first bug we found where a crash in a simulated iOS app can be triggered by having a Mac app using Accessibility running outside of the simulator. I filed it and am reporting on this here because I’ve gotten this as issue on my project now two times.

Submitted as rdar://15478255 and to OpenRadar.

Read more

DTDownload 1.0.3

This is a maintenance update for DTDownload.

Read more

Updating CocoaPods

CocoaPods is being under constant development, and as the zero as major version number suggests, it is still in unstable status. So you should only be mildly surprised if calling the pod command outputs that a newer version is available. Here are some tricks for updating.

Read more

DTFoundation 1.6.0

There are some API changes in this release of DTFoundation that require a bump of the minor version.

Read more

Wrapping a Dynamic C-Array

For version 0.2.0 of DTMarkdownParser I needed an array that would allow me to look up the string range for individual lines of a string. My initial approach was to simple use the provided method of NSValue to wrap an NSRange in it. The problem with this approach is that as the number of ranges in the array grows so does the time needed to find a range at a higher index.

Jan Weiß of Geheimwerk suggested to replace this approach with one based on C memory allocation and searching functions. This required me to brush up on my dynamic C-array allocation skills which had become somewhat rusty from only using Objective-C objects for everything. The techniques I’ll be discussing in this blog might be of great value to you, too, if you ever find yourself needing to quickly find a scalar value (i.e. a number or struct) in a dynamically sizing array.

Read more

DTMarkdownParser 0.2.0

DTMarkdownParser, our event-based parser for Markdown, has much progressed since 0.1.0. Since I will not be able to work on this as much in the coming weeks and it has reached a nice stable state I’m releasing this new development version.

Read more

Blurring Views on Mac

“Frosted Glass” abounds on iOS 7 and this new look is the new “Corinthian Leather”. Apple has often used design ideas from their mobile OS and let them inform UI design on OS X. This begs the question: where is frosted glass on Mac?

Mac developer Raffael Hannemann offered to do a guest tutorial for Cocoanetics.com demonstrating how to achieve the same view blurring effect on Mac, where you are much less constrained by the GPU performance. On Mac the necessary ingredients for view blurring are readily available.

On iOS Apple kept the necessary APIs for blurring private for the time being because of a severe performance problem that goes hand in hand with live Gaussian blurring. Raffel’s blog post after the break.

Read more

DTMarkdownParser 0.1.0

My book publisher offers me two options for submitting text, Microsoft Word or an XML-based format. I’ve grown quite fond of Markdown lately and so I formed the idea that I could write my book in markdown and use a parser to create this XML from it.

And since I like to craft my own libraries (because most of the time I’m learning something in the process) I started to work on DTMarkdownParser.

Read more