Profile Pic.jpg

Dan O'Leary

Personal journey in my learning of the Swift Programming language.

MN Breweries App

MN Breweries App

The iOS and Apple Watch app to guide you to Minnesota’s incredible craft breweries.



This app refers to craft breweries in the state of Minnesota. If you do not live in or plan on visiting Minnesota, this App will not be of much use to you.

Let’s continue, shall we?


After selecting a city and brewery on your iPhone, tapping the brewery button will give you directions to your selected brewery. The “visit site” text is a subtle link to your selected brewery’s website if you’d like to learn more about them. 

Apple Watch "Complication"

On Apple Watch open the MN Breweries app and select a brewery with the digital crown. Tapping the associated city will give you directions to the brewery of your choice. Current hours of operation are also listed. Often times the words, "Brewing", "Brewhouse", "Brewery" or "Brewpub" have been dropped from the brewery names in the list when viewed on your Apple Watch. This is to conserve space and attempt to limit truncating brewery names.

Use of Location Services 

MN Breweries supports complications for Utility Large and Modular Large watch faces on your Apple Watch. The app will request to use your location both “Always” (while in the background) as well as “While Using the App”. The only case where “Always” authorization is required is if you have a paired Apple Watch and you have the MN Breweries complication actively running on your watch face. If so the nearest brewery will display on your Apple Watch complication without the need to launch the app on your iPhone. Cool right?!

I have built some logic into the app to provide a balance between up-to-date information and conservation of battery life when the Apple Watch complication is enabled. Before the app updates your watch complication with the nearest brewery several things need to occur. 

First, the Privacy settings for Location Services must be set to “Always”. This is so the app can check your location without the need to launch the app on your iPhone. There is an exception to this however. If you do not actively have the complication displayed on your watch face, the MN Breweries app will not query for your location in the background, regardless of your settings. Once you enable the MN Breweries complication the app will begin using your background location at predetermined distance and time intervals.

Those distance and time intervals are 3 miles and 15 minutes. In other words, you must have changed your location by at least 3 miles, and 15 minutes must have elapsed before the app will query your location in the background. This conserves battery life for both your phone and your watch if you are traveling at high speeds. Without these “fences” in place the app would update nearly continually during travel. This would provide very accurate information as to your nearest brewery, but at the unnecessary expense of battery life. 

The downside of these fences is when you are traveling longer distance the complication updates may appear to lag. You may just be parking outside a brewery and your watch still shows another brewery several miles away. This is because 15 minutes has not elapsed yet so the app isn’t looking to see how far you’ve traveled. Give it a few minutes and it’ll catch up. 

The initial list of breweries on the app have been pulled from the current breweries listed as part of the MN Craft Brewers Guild. It is by no means a list of every brewery in the state. More breweries are opening, and some closing, all the time. 

I will work to keep the list as accurate as possible, but if you see an error or omission please don't hesitate to contact me via email or Twitter

In the mean time enjoy experiencing Minnesota’s vibrant craft breweries and culture.

I am an independent developer out of Rosemount, Minnesota. 

Dan O’Leary

Impulse Coupled Development

(Rejected) AR Watch Bands

(Rejected) AR Watch Bands