Archives

- 3d-touch
- 64-bit
- accessibility
- airprint
- alert
- analytics
- animation
- app-store
- appearance
- apple
- apple-tv
- arc
- auto-layout
- avfoundation
- blocks
- blog
- camera
- clang
- cloudkit
- cocoa
- cocoapods
- combine
- concurrency
- core-animation
- core-data
- dark-mode
- debug
- delegation
- dynamic-type
- fonts
- foundation
- gestures
- git
- hardware
- iad
- icloud
- interface-builder
- ios
- ios-10
- ios-11
- ios-12
- ios-13
- ios-14
- ios-15
- ios-16
- ios-17
- ios-4
- ios-5
- ios-6
- ios-7
- ios-8
- ios-9
- ios17
- ipad
- itunes
- keychain
- llvm
- localization
- macos-13
- mapkit
- motion
- multitasking
- network
- notification
- objective-c
- os-x
- playground
- popover
- predicates
- privacy
- provisioning
- push-notification
- qrcode
- radar
- regex
- retina
- review
- ruby-on-rails
- safari
- settings
- size-classes
- social
- sourcery
- speechsynthesizer
- spm
- state-restoration
- storyboard
- swift
- swift-5.3
- swift-5.7
- swiftdata
- swiftui
- testing
- text-analysis
- uicollectionview
- uikit
- uisearchcontroller
- uisearchdisplaycontroller
- uisplitviewcontroller
- uistackview
- uitabbarcontroller
- uitableviewcontroller
- uiviewcontroller
- universal
- views
- voiceover
- watchos-9
- webview
- widgetkit
- wwdc
- xcode
- xcode-10
- xcode-11
- xcode-12
- xcode-13
- xcode-14
- xcode-7
- xcode-8
- xcode-9
- xml
- 3d-touch
- 64-bit
- accessibility
- airprint
- alert
- analytics
- animation
- app-store
- appearance
- apple
- apple-tv
- arc
- auto-layout
- avfoundation
- blocks
- blog
- camera
- clang
- cloudkit
- cocoa
- cocoapods
- combine
- concurrency
- core-animation
- core-data
- dark-mode
- debug
- delegation
- dynamic-type
- fonts
- foundation
- gestures
- git
- hardware
- iad
- icloud
- interface-builder
- ios
- ios-10
- ios-11
- ios-12
- ios-13
- ios-14
- ios-15
- ios-16
- ios-17
- ios-4
- ios-5
- ios-6
- ios-7
- ios-8
- ios-9
- ios17
- ipad
- itunes
- keychain
- llvm
- localization
- macos-13
- mapkit
- motion
- multitasking
- network
- notification
- objective-c
- os-x
- playground
- popover
- predicates
- privacy
- provisioning
- push-notification
- qrcode
- radar
- regex
- retina
- review
- ruby-on-rails
- safari
- settings
- size-classes
- social
- sourcery
- speechsynthesizer
- spm
- state-restoration
- storyboard
- swift
- swift-5.3
- swift-5.7
- swiftdata
- swiftui
- testing
- text-analysis
- uicollectionview
- uikit
- uisearchcontroller
- uisearchdisplaycontroller
- uisplitviewcontroller
- uistackview
- uitabbarcontroller
- uitableviewcontroller
- uiviewcontroller
- universal
- views
- voiceover
- watchos-9
- webview
- widgetkit
- wwdc
- xcode
- xcode-10
- xcode-11
- xcode-12
- xcode-13
- xcode-14
- xcode-7
- xcode-8
- xcode-9
- xml
3D Touch Peek and Pop | |
Adding 3D Touch Quick Actions |
Format String Issue Using NSInteger |
Printing Headers and Footers with a Print Page Renderer | |
Basic Printing with AirPrint |
UIAlertController Changes in iOS 8 | |
UIAlertView changes in iOS 5 |
Flurry SDK 2.5 Issues | |
iAd Privacy Policy | |
Flurry to release new SDK next week to comply with 3.3.9 | |
What To Do About Analytics Now? | |
The future of analytics on the iPhone |
Quick Guide To Property Animators |
Styling buttons using the Asset Catalog | |
Using Appearance Proxy To Style Apps | |
Customizing Appearance With Resizable Images |
Stay Hungry. Stay Foolish | |
iOS 5 apple event |
Apple TV Update after running beta |
Default property attributes with ARC | |
Thoughts on iOS 5 |
Reading QR Codes |
Searching arrays with NSPredicate and blocks |
Making Some Changes |
Open Settings URL | |
iOS 8 Camera Privacy Settings |
Running Custom Clang Analyzer Builds | |
Disabling Clang Compiler Warnings | |
Compiler Options in Xcode - GCC or LLVM? |
WWDC23 Core Data Lab Notes | |
CloudKit Console Act As iCloud Account | |
WWDC22 Core Data Lab Notes |
Creating a CocoaPod |
Migrating to Observable | |
iOS Scene Delegates and External Screens | |
Getting Started With Combine |
Strict Concurrency Checking in Swift Packages |
iOS Core Animation Advanced Techniques |
Creating dynamic dark mode images at runtime | |
Overriding Dark Mode | |
Supporting Dark Mode In WKWebView |
Completion Handlers as an Alternative to Delegation | |
Quick Guide to Swift Delegates | |
Delegation or Notification |
Monospace Digits | |
Scaling Custom SwiftUI Fonts With Dynamic Type | |
Tweaking The iOS System Fonts | |
Using A Custom Font With Dynamic Type | |
iOS 9 Proportional Numbers |
SwiftUI Importing And Exporting Files | |
Accessing Security Scoped Files | |
Swift Foundation Formatter Improvements | |
Fun With Date Calculations | |
Data Detection for Links |
Collection View Default Gestures | |
Creating Gesture Recognizers with Interface Builder | |
Mail app style Split View Controller with a sliding master view | |
iPad Gestures |
Apple Magic Trackpad | |
Finally a reason to buy a magic mouse? |
Sync preference data with iCloud | |
Thoughts on iOS 5 |
Network Path Monitoring | |
Supporting New iPad Pro Models | |
Supporting iPhone XS Max and XR | |
Readable Width Table Views With iOS 12 | |
WWDC 2018 Viewing Guide |
iOS 4.2 is here | |
iOS SDK 4.2 Beta | |
Apple iOS SDK 4.0.2 and 3.2.2 | |
iOS SDK 4.1 beta | |
Xcode 3.2.3 and iOS 4 SDK released |
VoiceOver Bug and iOS 5 TableViews Revisited |
Checking version and device when restoring state | |
Restoration Classes and UIWebViews | |
State Preservation and Restoration |
SwiftData Fetching An Existing Object |
iTunes 10 Toolbar Buttons | |
This copy of iTunes will expire | |
Universal apps get higher billing in iTunes |
Xcode 4.6 Recommended Build Settings | |
Compiler Options in Xcode - GCC or LLVM? |
SwiftUI Gauges |
MapKit for SwiftUI | |
Creating dynamic dark mode images at runtime | |
Showing Maps in Widgets | |
Container View Controllers |
Motion Effects |
Tracking background memory usage of iOS 4 apps | |
Adding iOS4 Multitasking Support |
Local Notifications with iOS 10 | |
Repeating an iOS local notification | |
Popping Tabbed Navigation Controllers | |
Adding Local Notifications with iOS 4 | |
Delegation or Notification |
Creating an OS X Core Data Helper App | |
Useful OS X Resources for iOS Developers | |
Open With Menu Duplicates | |
Stop Xcode Automatic Termination | |
Keeping Mountain Lion Awake | |
Using the Mac OS X automounter |
Xcode 12.5 Playground Access To App Types | |
Using Swift Packages in Playgrounds | |
Adding Playgrounds to Xcode Projects |
Self-sizing Popovers | |
Making Popovers Adapt to Size Classes | |
UIPopover arrow not repositioned correctly on rotation |
Swift Filtering With Predicates | |
Searching arrays with NSPredicate and blocks | |
Filtering arrays with NSPredicate |
Privacy Settings in iOS 10 | |
Did ATS Change Since the GM? | |
App Transport Security | |
Open Settings URL | |
iOS 8 Camera Privacy Settings | |
Reset Location and Privacy Permissions |
Adding Local Notifications with iOS 4 | |
AirMail Push Notifications |
Reading QR Codes |
Getting Started with Swift Regex |
Supporting the 4-inch Retina Display | |
Updating for the iPhone 4 retinal display |
PragProg Rails Book Sale | |
Programming Ruby The PickAxe Book | |
Design Patterns in Ruby |
Safari 15 Theme Color | |
Apple Webpage Touch Icons |
Open Settings URL | |
Managing User Preferences within an iPhone App | |
Adding a settings bundle to an iPhone App |
Migrating to the new Twitter search API |
State Restoration With Swift Structs |
iOS 8 Adds Hebrew Speech Synthesis | |
Synthesized Speech From Text |
What does @main do in Swift 5.3? |
Getting Started with Swift Regex |
SwiftData Fetching An Existing Object | |
SwiftData Background Tasks | |
SwiftData Saving Changes | |
WWDC23 Core Data Lab Notes | |
WWDC23 SwiftData Lab Notes |
Enumerating Strings By Sentence |
Migrating to the new Twitter search API | |
Searching Twitter with iOS |
Creating Lists with Collection View | |
Collection View Default Gestures |
Search bar not showing without a scope bar | |
Updating to the iOS 8 Search Controller |
Adding A Search Bar To A Table View With Storyboards |
Popping Tabbed Navigation Controllers |
UIKit View Lifecycle - viewIsAppearing | |
Self-sizing Child Views | |
Upside Down and Rotating iPhones | |
Container View Controllers | |
Presenting View Controllers | |
iPad Modal View Controllers |
Stretching, Redrawing and Positioning with contentMode | |
Using pattern images to set background views |
VoiceOver For Frequently Updating Data | |
VoiceOver Bug and iOS 5 TableViews Revisited | |
Prototype Table View Cells Not Working With VoiceOver |
SwiftUI Gauges |
App Bound Domains | |
Supporting Dark Mode In WKWebView | |
Using Dynamic Type With Web Views |
SwiftUI Container Relative Shape | |
Widget Background and Accent Color | |
Showing Maps in Widgets | |
WidgetKit for iOS - Getting Started | |
Sharing data with a Widget |
Xcode Multi-Cursor Editing | |
Xcode 10 Random And Parallel Tests | |
Xcode 10 Library Tips |
Xcode 14 Single Size App Icon | |
What's New in Xcode 14 Previews | |
Interface Builder Keyboard Layout Guide |
Xcode code coverage | |
Using Identifiers to Debug Autolayout | |
Dynamic Dispatch and Whole Module Optimization | |
Refactoring with Storyboard References |
Xcode Visual Memory Debugger |
Changing Xcode Header Comment | |
Xcode 9 Vector Images | |
Safe Area Layout Guide | |
Checking API Availability with Swift |
Checking RSS Feeds for New Posts | |
Parsing an RSS Feed using NSXMLParser | |
Reading an RSS Feed |