Creează un cont pentru a te abona la acest blog și a-i urmări articolele pe pagina Lectură.
-
10× faster Xcode CI builds with slot caching Two months ago, I started saving roughly $4,000/month by self-hosting Mac minis for Sidecar’s CI.
-
Saving $4000+/month with self-hosted runners For the longest time, Sidecar didn’t have any continuous integration 😭.
-
iOS 26: Offset buttons in ScrollView aren’t tappable iOS 26 introduced a subtle regression in SwiftUI’s Button component when used inside a ScrollView with an .offset() modifier.
-
Getting consistent temperature preferences on iOS iOS’ Settings app allows for a variety of fine-tunings of user preferences, which is particularly handy if you’ve grown up half the time in Canada and the USA and your personal locale is best described as…
-
Buggy linear gradients in SwiftUI Charts If you’re using linear gradients in SwiftUI’s Charts framework, make sure that the delta between every color stop is at least 0.0001.
-
Reminder: Apple Watches use 32 bit pointers Since the Series 4 was introduced in 2018, all new Apple Watches have been arm64_32.
-
SubscriptionStoreView crasher on watchOS 11.1 Sidecar supports watchOS as a first-class application, which sometimes means I get to run into some bleeding edge cases.
-
textSelection broken in List on iOS 18 Happy iOS 18 release week!
-
Let’s build iOS 18’s navigation title card in SwiftUI iOS 18 standardizes a design pattern that could be called “navigation title cards”, for lack of an established HIG term.
-
Everything you never thought you wanted to know about emoji flags Let’s say you’re building an analytics app and you want a simple way to represent the location of an analytics event.
-
Subtitle Shenanigans in SwiftUI’s Menu SwiftUI’s Menu component is a delightfully powerful API in terms of the complexity of the interactions it supports compared to the API footprint, but if you need to use subtitles then things can go a bit off the rail…
-
FB14804445: Swift 6 and SwiftUI’s PasteButton As of Xcode Version 16.0 beta 5 (16A5221g), 18.0 beta 5 (22A5326g), enabling Swift 6 compilation mode will cause use of PasteButton to crash when tapped at runtime with the exception “EXC_BREAKPOINT (code=1, s…
-
Hog Mobile I’m a big fan of PostHog from a product and design point of view.
-
End of an era I’ve been hearing this expression a lot lately.
-
“Why aren’t the designers and engineers sitting together?”
-
LinkedIn’s loading animation Let’s build LinkedIn’s loading animation in <50 lines of SwiftUI.
-
Threads Carousel pinch effect Let’s build Threads’ seamless carousel effect in <50 lines of SwiftUI.
-
Leads define culture For a long time I’d ran my team while wearing many different hats across design, engineering, and product leadership.
-
What do you think?
-
Enumerate XCUIElementQuery in Swift Let’s learn how to make XCUIElementQuery enumerable in a Swift for-in loop so that we can do the following: for cell in XCUIApplication().cells { // cell is an XCUIElement } We’ll take the template from Minimal Swift…
-
Retirement and shared code Creating shared code is easy.
-
Minimal Swift 2.1 protocol conformance With the advent of protocol-oriented programming Swift types are able to adopt all sorts of super powers with minimal work.
-
Reading MIDI properties in Swift using ambiguous return types CoreMIDI’s interface for accessing MIDI object properties relies on a handful of C get/set methods corresponding to the supported data types: Integer, String, Dictionary, and Data: MIDIObjectGe…
-
Hashable CFString in Swift This post is also available as a Swift playground at https://github.com/jverkoey/playgrounds.
-
Enumerate messages of a MIDIPacket using Swift reflection In Enumerate MIDIPacketList in Swift we built an extension for MIDIPacketList that enabled easy enumeration of its MIDIPacket objects.
-
Enumerating tuple values in Swift This post is also available as a Swift playground at https://github.com/jverkoey/playgrounds.
-
Get current Xcode playground page name You can get the name of the current Playground page using the following snippet: NSProcessInfo.processInfo().environment["PLAYGROUND_NAME"]
-
MIDI messages as a Swift associated enum The MIDI specification outlines the complete set of messages one can expect to receive from a MIDI endpoint.
-
Swift Dictionary: get with default This post is also available as a Swift playground at https://github.com/jverkoey/playgrounds.
-
Enumerate MIDIPacketList in Swift: Part 2 This is the conclusion of Enumerate MIDIPacketList in Swift.
-
How to access framework internals from a Swift Playground Swift 2 introduced the @testable keyword so that unit test targets could access internal APIs of frameworks like so: @testable import MyFramework Without this keyword the only alternative was to ma…
-
Swift frameworks with conflicting symbols in Objective-C apps What happens when an Objective-C app includes two or more Swift frameworks that happen to have a conflicting class name?
-
Enumerate MIDIPacketList in Swift: Part 1 In this post we’re going to look at how we can use Swift 2’s SequenceType and GeneratorType to enumerate the packets of a MIDIPacketList.
-
Nimbus Chameleon Stop compiling.
-
Three20 is -insert expletive- From my monitoring of Twitter so far today, it seems some people are angered by the fact that Three20 is composed of many libraries.
-
Hack Faster with Secret Features I love it when I stumble upon a new feature in a piece of software that makes my life easier.
-
Strips postmortem During the summer of 2009 I made a big decision.