New edition of the "Guide to NSButton styles"Note (Oct 2023): The names of the buttons have been changed again in the SDK in macOS Sonoma - I will update the blog post again once I have Sonoma on one of my Macs :) Back in October 2014 I wrote a…Kuba Suder 🇵🇱🇺🇦·Dec 30·7 min readFollowCocoaMac
WatchKit Adventure #4: Tables and Navigation< Previously on WatchKit Adventure… Two weeks ago I posted the first part of a tutorial about how to build an Apple Watch app UI using WatchKit, using a WKInterfaceController and a storyboard. We’ve …Kuba Suder 🇵🇱🇺🇦·Sep 10·25 min readFollowCocoaWatchKitiPhone
WatchKit Adventure #3: Building the App UI< Previously on WatchKit Adventure… This is the third part of my series about building a WatchKit app that shows current air pollution level on the watch face (it started here). In this episode, we’r…Kuba Suder 🇵🇱🇺🇦·Aug 26·31 min readFollowCocoaWatchKitiPhone
SwiftUI betas - what changed before 1.0In the last few weeks I’ve been trying to catch up on SwiftUI - watching WWDC videos, reading tutorials. Not the new stuff that was announced 2 months ago though - but the things that people have been…Kuba Suder 🇵🇱🇺🇦·Aug 17·12 min readFollowCocoaiPhoneMacSwiftUI
Photo library changes in iOS 14I’m the kind of person who cares a lot about their digital privacy. It makes me very uncomfortable when I see ads on Facebook for something I opened on another site a moment ago, and I generally don’t…Kuba Suder 🇵🇱🇺🇦·Jul 7·15 min readFollowCocoaiPhone
Notes from WWDCWhen I watch conference talks, I like to take notes - either on an iPhone or iPad when I’m in the conference room, or on the Mac when I’m watching online like in case of WWDC (I’ve never seen it in pe…Kuba Suder 🇵🇱🇺🇦·Jun 22·5 min readFollowCocoaMaciPhoneWWDC
I'm building an ad blockerSince my update to the iOS version of Banner Hunter was rejected by app review, the app’s been in a kind of Schrödinger state, both dead and alive. It’s still selling those few copies a week, and I’m …Kuba Suder 🇵🇱🇺🇦·May 26·11 min readFollowCocoaMacJavaScript
SwiftUI quotesI was going through some saved links and open tabs from June recently while finishing the WWDC collection post. I found a lot of interesting quotes about SwiftUI, Catalyst and the future of Apple plat…Kuba Suder 🇵🇱🇺🇦·Dec 16·11 min readFollowCocoaiPhoneMacSwiftUI
New stuff from WWDC 2019As I’m writing these words, it’s the last day of November and the temperature has just dropped to close to 0°C here in Poland. But let’s move back to a better time for a moment, to the first days of J…Kuba Suder 🇵🇱🇺🇦·Dec 2·37 min readFollowCocoaiPhoneMacWWDC
SwiftUI on AppKit: Building a Dark Mode switcherI spent a large part of last week learning and playing with SwiftUI. So far it’s been pretty frustrating at times since I kind of feel like I forgot everything I knew, but I’m also very excited about …Kuba Suder 🇵🇱🇺🇦·Jun 16·19 min readFollowCocoaMacSwiftUI
Thoughts on SwiftUILike everyone, I was shocked by Apple’s surprise reveal of SwiftUI at WWDC last week. We’ve heard rumors of some kind of declarative, multi-platform framework coming sometime in the future, but I don’…Kuba Suder 🇵🇱🇺🇦·Jun 14·11 min readFollowCocoaMaciOSSwiftUI
WatchKit Adventure #2: Minimum Viable Complication< Previously on WatchKit Adventure… This post is the second (or technically third) part of my series about building a WatchKit app that shows current air pollution level on the watch face. If you hav…Kuba Suder 🇵🇱🇺🇦·Mar 6·42 min readFollowCocoaWatchKitiPhone
WatchKit Adventure #1: The Big PictureUpdate 03.07.2019: watchOS 6 has changed a lot of things that I’ve written about here, so I went through the post again and updated all parts that got out of date. < Previously on WatchKit Adventure……Kuba Suder 🇵🇱🇺🇦·Dec 18·25 min readFollowCocoaWatchKitiPhone
WatchKit Adventure #0: IntroEver since I saw the first Apple Watch announced on stage, I wanted to learn to write apps for it. I bought my first Watch half a year later, when they finally appeared in Europe, with that thought in…Kuba Suder 🇵🇱🇺🇦·Oct 29·9 min readFollowCocoaWatchKitiPhone
New stuff from WWDC 2018For the last 3 WWDC’s I’ve been collecting ordered lists of all new features and APIs added in the new releases of Apple’s OSes, either announced in the keynote or one of the talks, or in release note…Kuba Suder 🇵🇱🇺🇦·Sep 6·23 min readFollowCocoaiPhoneMacWWDC
Dark Side of the Mac: Updating Your App(Part 1 is available here.) Last week I posted an article here about how the “Dark Mode” in macOS 10.14 works behind the scenes and how such features as appearances, materials and vibrancy, which wer…Kuba Suder 🇵🇱🇺🇦·Jul 10·26 min readFollowCocoaMac
Dark Side of the Mac: Appearance & MaterialsOne of the most exciting announcements at this WWDC was the introduction of a long-awaited “dark mode” in macOS 10.14 Mojave, which lets you use a whole desktop with all the apps on it in a dark theme…Kuba Suder 🇵🇱🇺🇦·Jul 3·21 min readFollowCocoaMac
What's new in notifications in iOS 12One of the things that caught my attention in the WWDC videos I watched last week were the improvements in the notification system, meant to on one hand give more control over notifications to the use…Kuba Suder 🇵🇱🇺🇦·Jun 11·15 min readFollowCocoaiPhone
Changes to location tracking in iOS 11Apart from a whole bunch of new frameworks (see the whole list here), iOS 11 also makes some major changes to existing APIs. One of the affected areas is location tracking. If your app only uses locat…Kuba Suder 🇵🇱🇺🇦·Jul 13·19 min readFollowCocoaiPhone
New stuff from WWDC 2017It’s that time of the year again - if you’re like me, you’ve probably spent a lot of time in the last few weeks following everything that’s been announced at WWDC, digging into release notes, watching…Kuba Suder 🇵🇱🇺🇦·Jul 5·26 min readFollowCocoaiPhoneMacWWDC
New stuff from WWDC 2016Following the tradition from last year, here’s my complete list of all interesting features and updates I could find in Apple’s OSes, SDKs and developer tools that were announced at this year’s WWDC. …Kuba Suder 🇵🇱🇺🇦·Jul 11·20 min readFollowCocoaiPhoneMacWWDC
New stuff from WWDC 2015Here’s my own list of the interesting stuff announced during this year’s WWDC, collected from the keynotes, various Apple docs, blog posts and tweets. If you’re planning to watch the videos, I really…Kuba Suder 🇵🇱🇺🇦·Jul 5·12 min readFollowCocoaiPhoneMacWWDC
Testing Retina images on an older MacUpdate 7.12.2020: Added info at the bottom about a UserDefaults setting you can use instead. If you build iOS apps, you’re used to providing all icons and other images in @1x and @2x versions for old…Kuba Suder 🇵🇱🇺🇦·Apr 2·6 min readFollowCocoaMac
Accessing user location data in iOS 8In iOS 8 Apple made some changes to how apps are supposed to request access to location data. If you use CLLocationManager and you don’t make any changes for iOS 8 compatibility, your app might stop r…Kuba Suder 🇵🇱🇺🇦·Mar 17·10 min readFollowCocoaiPhone
How to add icons to the menu bar on YosemiteMac applications often add their icons to the notification area on the right side of the menu bar. That way they can show you some status changes by changing the icon image, and they can also save som…Kuba Suder 🇵🇱🇺🇦·Mar 4·8 min readFollowCocoaMac
Making iOS apps compatible with iPhone 6/6+This is the first part of a new (hopefully) longer series of tutorial-like posts. I’m planning to write shorter posts now but more often, based on specific things that I learn while working on my curr…Kuba Suder 🇵🇱🇺🇦·Feb 17·9 min readFollowCocoaiPhone
A guide to NSButton stylesThe NSButton class used for making buttons in Mac apps has as many as 15 different styles, not counting subclasses. But which should be used where? (Updated with new examples and Big Sur graphics)Kuba Suder 🇵🇱🇺🇦·Oct 6·55 min readFollowCocoaMac
What's new in ObjectiveCThis post is mostly based on a presentation I’ve done on the last CocoaHeads meeting in Kraków. (If you’re a Cocoa developer and you’re in Kraków on a 2nd Thursday of a month, come say hi!) Thea idea…Kuba Suder 🇵🇱🇺🇦·Apr 20·14 min readFollowCocoa
Cocoa JSON parsing libraries, part 2A few months ago I wrote a post about JSON parsing libraries for Cocoa. I compared 4 libraries – BSJSONAdditions, JSON Framework, TouchJSON, and YAJL, I ran a benchmark on all of them, and the conclus…Kuba Suder 🇵🇱🇺🇦·Dec 12·5 min readFollowCocoaiPhone
The longest names in CocoaEver since I started coding in Cocoa, I’ve been wondering what might be the longest name used for any function or constant in the entire API. Cocoa names can get quite long in general, so the longest …Kuba Suder 🇵🇱🇺🇦·Oct 31·5 min readFollowCocoaiPhone
Cocoa JSON parsing librariesUpdate: A new post from December 2010 with updated stats is available here. For a few weeks I’ve been working on a new iPhone application. Like most of other Cocoa apps I’ve written so far, this app…Kuba Suder 🇵🇱🇺🇦·Mar 4·5 min readFollowCocoaiPhone
Psionides presents: xBlip 0.1As I’ve promised in the previous post, I’ve started working on my first iPhone application, the Blip.pl client, which I’ve given an extremely creative name, xBlip :) (why “x”? that’s simple, because “…Kuba Suder 🇵🇱🇺🇦·Mar 23·7 min readFollowCocoaiPhone
Hello, iPhone!For the last few months, I’ve been spending a lot of time learning how to create apps for the Mac. Since I’m slowly starting to run out of new tutorials to read, I’ve decided to find myself something …Kuba Suder 🇵🇱🇺🇦·Mar 19·8 min readFollowCocoaiPhone
The Dark Side of CocoaPhoto by Alexander Staubo (CC) Some time ago I wrote about all the things that I loved in the Cocoa framework. This time, I’d like to write a bit about the worse side of Cocoa - the things that annoy…Kuba Suder 🇵🇱🇺🇦·Mar 14·10 min readFollowCocoa
Interface Builder tips and tricksI read Apple’s tutorial about Interface Builder this week. Most parts of it told about rather basic things and were quite boring, but I’ve learned several useful tricks from it. IB, like most of Apple…Kuba Suder 🇵🇱🇺🇦·Dec 6·7 min readFollowCocoaMac
Generating scaffold interfaces in CocoaI discovered an interesting feature in Interface Builder a few days ago. It seems that it can generate a scaffolding UI for you based on a CoreData model. It works like this: first you have to design …Kuba Suder 🇵🇱🇺🇦·Nov 20·3 min readFollowCocoaMac
Missing controls in IB 3.1I’ve upgraded XCode and Interface Builder to version 3.1 recently (the update doesn’t appear in the system update, you have to download it manually, and it’s deceitfully hidden - you have to register …Kuba Suder 🇵🇱🇺🇦·Nov 11·3 min readFollowCocoaMac
Addicted to CocoaPhoto by Sharyn Morrow (CC) For the last several weeks, I’ve been learning a lot about ObjectiveC and Cocoa programming. It’s really addictive… I just can’t stop myself sometimes :) I’m reading the “…Kuba Suder 🇵🇱🇺🇦·Nov 8·9 min readFollowCocoa
Learn Objective C in 30 minutesRecently I started thinking about writing something simple in Objective C - you know, that weird Apple language used for Mac programming… Not that I’m planning to switch from Ruby to ObjC - I rather t…Kuba Suder 🇵🇱🇺🇦·Oct 5·21 min readFollowCocoa
To Cocoa or not to Cocoa, that is the question...It seems that starting a blog was not the only stupid idea I had recently. I’m having more of those… For example, now I’m thinking about learning some Cocoa and writing some applications for the Mac :…Kuba Suder 🇵🇱🇺🇦·Jun 22·3 min readFollowCocoaPythonRuby/Rails