All blogs / Mobile / iOS / Android
NSHipster
NSHipster is a journal of the overlooked bits in Objective-C, Swift, and Cocoa.
Mobile / iOS / AndroidSoftware / engineering practiceEngineering blogs
- Posts
- 181 from 21 Jan 2013 to 31 Dec 2025
- Posting
- now and then (1 in the last year)
- Kind
- personal blog
- Feed
- https://nshipster.com/feed.xml
2025 7
2020 8
2019 35
- Objective-C Direct Methods
- Swift API Availability
- Bless
- KeyValuePairs
- Secret Management on iOS
- Message-ID and Mail.app Deep Linking on iOS and macOS
- Device Identifiers and Fingerprinting on iOS
- MetricKit
- SwiftUI Previews on macOS Catalina and Xcode 11
- iOS 13
- Apple Push Notification Device Tokens
- Dark Mode on iOS 13
- Identifiable
- macOS Accessibility Keyboard
- Formatter
- CAEmitterLayer
- UIStackView
- Swift Property Wrappers
- WWDC 2019
- Swift Code Formatters
- Image Resizing Techniques
- Optional, throws, Result, async/await
- CoreGraphics Geometry Primitives
- Guided Access
- UITableViewHeaderFooterView
- XcodeKit and Xcode Source Editor Extensions
- LocalizedError, RecoverableError, CustomNSError
- MapKit JS
- JavaScriptCore
- API Pollution in Swift Modules
- Regular Expressions in Swift
- ExpressibleByStringInterpolation
- TextOutputStream
- swift-sh
- Swift Import Declarations
2018 23
- Bundles and Packages
- macOS Character Viewer
- Swift Program Distribution with Homebrew
- Simctl
- Swift Development with Visual Studio Code
- CustomPlaygroundDisplayConvertible
- Language Server Protocol
- Void
- SwiftSyntax
- numericCast(_:)
- TimeInterval, Date, and DateInterval
- macOS Dynamic Desktop
- UIFieldBehavior
- iOS 12
- CMMotionActivity
- NSDataAsset
- Swift Property Observers
- Hashable / Hasher
- NLLanguageRecognizer
- Never
- Password Rules / UITextInputPasswordRules
- Bug Reporting
- Swift GYB
2016 3
2015 13
2014 36
- NSUndoManager
- UIPrintInteractionController
- Core Location in iOS 8
- UISplitViewController
- CMDeviceMotion
- Inter-Process Communication
- UIAlertController
- Equatable and Comparable
- OptionSet
- WKWebView
- Swift Literals
- Swift Operators
- XCTestCase / XCTestExpectation / measureBlock()
- NSOperation
- iOS 8
- NSHipster Quiz #6
- CocoaPods
- Benchmarking
- NSHipster Quiz #5
- IBAction / IBOutlet / IBOutletCollection
- MKGeodesicPolyline
- UIActivityViewController
- Configuration Profiles
- AVSpeechSynthesizer
- NSURL / NSURLComponents
- Empathy
- Dictionary Services
- Temporary Files
- Namespacing
- Method Swizzling
- Associated Objects
- MKTileOverlay, MKMapSnapshotter & MKDirections
- Stewardship
- Extended File Attributes
- NSRange
- Reader Submissions - New Year's 2014
2013 34
- UIApplicationDelegate launchOptions
- NSNotification & NSNotificationCenter
- FileManager
- NSHipster Quiz #4
- Launch Arguments & Environment Variables
- NSError
- Key-Value Observing
- Xcode Key Bindings & Gestures
- iOS 7
- Network Link Conditioner
- Xcode Snippets
- Equality
- NSHashTable & NSMapTable
- rand(3) / random(3) / arc4random(3) / et al.
- NSHipster Quiz #3
- NSPredicate
- NSExpression
- NSFastEnumeration / NSEnumerator
- Object Subscripting
- NSHipster Quiz #2
- NSDataDetector
- NSCoding / NSKeyedArchiver
- MKLocalSearch
- NSHipster Quiz #1
- NSSecureCoding
- BOOL / bool / Boolean / NSCFBoolean
- Icloud
- C Storage Classes
- UIAppearance
- NSAssertionHandler
- NSURLCache
- Type Encodings
- NSValue
- NSLocalizedString