Flying Apple
Sick of bookmarks in browser. So I want to keep track of nice blog posts and news related to Swift, Objective-C and Apple products in here.
Categorized with emojis.
- Swift -
🔶 - Objective-C -
🔷 - iOS -
📱 - watchOS -
⌚ - macOS -
🖥 - Server Side -
🔭 - Xcode and other tools -
🛠 - Marketing -
🎯 - Apple investments, stocks, business decisions etc. -
💲
Posts
- Soft Launching Your App - What It Is And Why You Should Do It - 17.02.2019 -
🎯 - Get Your iOS App Featured on the App Store with These 11 Tips - 17.02.2019 -
🎯 - iOS Performance Tricks To Make Your App Feel More Performant - 12.02.2019 -
📱 - Strong-typed Notifications in Swift - 12.02.2019 -
🔶 📱 - Unbreakable reference cycles in Swift no one is talking about - 10.02.2019 -
🔶 - Data-Driven Table Views - 10.02.2019 -
📱 🔶 - How to convert your Xcode plugins to Xcode extensions - 10.02.2019 -
🛠 - Adding External Display Support To Your iOS App Is Ridiculously Easy - 10.02.2019 -
📱 - Swift Tip: Unexpected Results from a Date Formatter - 03.02.2019 -
🔶 - Test doubles in Swift: dummies, fakes, stubs, and spies - 03.02.2019 -
🔶 - Unit testing retain cycles - 03.02.2019 -
🔶 - Server-side Swift: Making Canopy - 03.02.2019 -
🔭 🔶 - iOS at Scale: Modularization of the Wayfair App - 03.02.2019 -
📱 - Xcode & Instruments: Measuring Launch time, CPU Usage, Memory Leaks, Energy Impact and Frame Rate - 03.02.2019 -
🛠 - Unleashing the power of asset catalogs and bundles on iOS - 03.02.2019 -
📱 - Multiple Inheritance in Swift - 03.02.2019 -
🔶 - 6 Winning Monetisation Strategies - 03.02.2019 -
🎯 - How to Leverage Apple Pre-order For Your iOS App Launch - 03.02.2019 -
🎯 - Delegates vs Closure Callbacks - 03.02.2019 -
🔶 🔷 - What's inside the Derived Data folder? - 03.02.2019 -
📱 - Dynamic Features in Swift - 03.02.2019 -
🔶 - NSPredicate
💬 | Examples Cheatsheet - 03.02.2019 -🔶 - Similar Prefixes - 03.02.2019 -
🔶 🔷 - Debugging Tips&Tricks - 01.02.2019 -
🛠 - Debugging iOS network traffic - 01.02.2019 -
📱 - Implement Push Notification easily using CloudKit - 05.10.2018 -
📱 ⌚️ - Why #if DEBUG Conditional Should Be Avoided in Library Code - 30.09.2018 -
📱 🔶 - Prefetching images size without downloading them [entirely] in Swift - 11.09.2018 -
🔶 - How to Build Swift Compiler-Based Tool? The Step-by-Step Guide - 19.08.2018 -
🔶 - An iOS alert view with a text field and a “smart” OK button - 19.08.2018 -
🔶 📱 - Extension Approach to Keeping UITextFields in Sight - 12.08.2018 -
🔶 - Swift Style Guide - 04.06.2018 -
🔶 - Memory Management and Performance of Value Types - 29.05.2018 -
🔶 - The Laws of Core Data - 10.05.2018 -
📱 🖥 - Reimplementation of Implicitly Unwrapped Optionals - 01.05.2018 -
🔶 - Simplifying UICollectionViewFlowLayout Delegate Method usage with Functional Programming - 22.04.2018 -
📱 🔶 - Taming Build Variants with Xcode Configuration Files - 22.04.2018 -
🛠 - Care and Feeding of Xcode Configurations - 22.04.2018 -
🛠 - Why you should not name your @IBActions didTapButton - 20.04.2018 -
📱 🖥 - A Collection of Interesting Swift Features - 24.03.2018 -
🔶 - Xcode’s Secret Performance Tests - 01.03.2018 -
🛠 - Trusting third party SDKs - 25.02.2018 -
📱 🛠 - CloudKit: Structured Storage for Mobile Applications - 10.02.2018 -
🛠 - iOS Subscription Groups Explained - 08.02.2018 -
📱 - It Looks Like You Are Trying to Use a Framework - 08.02.2018 -
🔶 🔷 📱 🖥 - Dependency Management for iOS projects with the Swift package manager - 08.02.2018 -
🔶 📱 - The Ultimate Guide To Mobile In-App Purchases Optimization - 30.01.2018 -
📱 🎯 - Patterns for Working With Associated Types - 15.12.2017 -
🔶 - Coordinator and FlowController - 19.11.2017 -
🔶 📱 - Challenges of Supporting iPhone X - 06.11.2017 -
📱 - Data Detection in Swift - 06.11.2017 -
🔶 - @objc Warnings Upgrading To Swift 4 - 06.11.2017 -
🔶 4 - Dictionary and Set Improvements in Swift 4.0 - 05.10.2017 -
🔶 4 - DIY Prisma App with CoreML - 26.09.2017 -
📱 11 - Measuring Compile Times in Xcode 9 - 26.09.2017 -
🛠 🔶 4 - Codable Enums - 26.09.2017 -
🔶 4 - Swift 4 Weak References - 26.09.2017 -
🔶 4 - Swift 4 Officially Released! - 26.09.2017 -
🔶 4 - Generics in Swift 4 - 23.09.2017 -
🔶 4 - WKWebView advanced tutorial (catch JS events, access properties etc...) - 28.07.2017 -
🔶 📱 - Stack View Custom Spacing - 16.07.2017 -
🔶 📱 - User Breakpoints in Xcode - 16.07.2017 -
🛠 - SSL certificate pinning in iOS applications - 26.06.2017 -
🔶 📱 - How to open Deep Links, Notifications and Shortcuts - 26.06.2017 -
🔶 📱 - CALayer And Auto Layout With Swift - 26.06.2017 -
🔶 📱 - Screen Edges in iOS 11 - 26.06.2017 -
🔶 📱 - Ultimate Guide to JSON Parsing With Swift 4 - 26.06.2017 -
🔶 4 - How to create a Telegram bot with Swift using Vapor on Ubuntu / macOS - 18.04.2017 -
🔶 🔭 - 100% Coverage of Edge Cases: How to Safely Parse JSON - 17.04.2017 -
🔶 - TestFlight Update from Apple - 17.04.2017 -
💲 - You Probably Don't Want enumerated - 01.04.2017 -
🔶 - Avoiding primitive obsession in Swift - 01.04.2017 -
🔶 - System Level Breakpoints in Swift - 26.03.2017 -
🔶 - Kitura/iOS: Running a Web Server on your iPhone - 20.03.2017 -
🔶 - The Recipe for Singletons Removal - 19.03.2017 -
🔶 🔹 - Common unit testing techniques on iOS - 19.03.2017 -
🔶 📱 - Modern Attributed Strings with Attributed - 08.02.2017 -
🔶 - What's new in Swift 3.1 - 07.02.2017 -
🔶 - Waiting in XCTest - 05.02.2017 -
🔶 - Understanding memory leaks in closures - 05.02.2017 -
🔶 - Faster Mix-and-Match Builds with Precompiled Bridging Headers - 05.02.2017 -
🔶 - Additional Details on the New App Store Review Features - 05.02.2017 -
📱 💲 - Pretty much every way to assign optionals - 05.02.2017 -
🔶 - Clean Code for Multiple Storyboards - 23.01.2017 -
🔶 - Swift Evolution Status - 23.01.2017 -
🔶 - Identifying Side Effects Using Swift - 23.01.2017 -
🔶 - Improving Optionals - 23.01.2017 -
🔶 - Naming Things in Swift - 22.01.2017 -
🔶 - Generic allValues for enums - 22.01.2017 -
🔶 - Crazy Fast Builds Using distcc - 22.01.2017 -
🛠 - Errorify String - 22.01.2017 -
🔶 - Unsafe Swift: Using Pointers And Interacting With C - 22.01.2017 -
🔶 - In-App Purchases in iOS With Swift 3 - 08.01.2017 -
🔶 - RxSwift Primer - 05.01.2017 -
🔶 - Protocols are more than Bags of Syntax - 05.01.2017 -
🔶 - Profiling your Swift compilation times - 25.12.2016 -
🔶 - Emptiness - 25.12.2016 -
🔶 3 - CollectionOfOne - 12.12.2016 -
🔶 - Swift Method Dispatch - 12.12.2016 -
🔶 - Hiding Your Action and Share Extensions In Your Own Apps - 12.12.2016 -
🔶 📱 - Guarding Against Long Compiles - 12.12.2016 -
🛠 - How to Prevent Memory Leaks in Swift Closures - 11.12.2016 -
🔶 - Use New Awesome iOS Features While Maintaining Backward Compatibility - 11.12.2016 -
🔶 - Swift Snippets - 11.12.2016 -
🔶 - Build Setting Reference aka Xcode Script variables - 07.12.2016 -
🛠 - Protocol Oriented Programming is Not a Silver Bullet - 28.11.2016 -
🔶 - Understanding Data Race Detection by Implementing it in Swift - 28.11.2016 -
🔶 - Meaningful Composite Errors - 20.11.2016 -
🔶 - Better Xcode Run Script Build Phases - 13.11.2016 -
🛠 - Date Math is Hard, Let's Do it Tomorrow - 13.11.2016 -
🔶 - Understanding code signing for iOS apps - 05.11.2016
- Firebase Tutorial: Real-time Chat - 03.11.2016 -
🔶 - iOS Security: Best Practices in Safeguarding User Data - 03.11.2016 -
📱 - How to Read the Swift Standard Library Source - 03.11.2016 -
🔶 - Useful details about underscore keyword in Swift -
🔶 - Unowned or Weak? Lifetime and Performance -
🔶 - iOS 10 Link Preview API in WKWebView - 03.11.2016 -
🔶 - A Beginner’s Guide to Automated UI Testing in iOS - 03.11.2016 -
📱 🔶 - In-App Purchase Promo Codes Now Available - - 03.11.2016 -
💲 - Swift Profiling - 31.10.2016 -
🔶 - Enum Raw Values and Failable Initializers - 30.10.2016 -
🔶 - Touch Bar Basics - 30.10.2016 -
🔶 🖥 - How to Do XCTestCase tearDown Wrong …and Right - 26.10.2016 -
🔶 - Flowing Text Around Images With Exclusion Paths - 26.10.2016 -
🔶 - Generic Range Algorithms - 26.10.2016 -
🔶 - Server APIs Work Group - 26.10.2016 -
🔶 💲 - Testing UserDefaults - 26.10.2016 -
🔶 - Whole-Module Optimization in Swift 3 - 22.10.2016 -
🔶 3 - Analysis of the Facebook.app for iOS - 21.10.2016 -
📱 - Speeding up Development Build Times With Conditional dSYM Generation - 21.10.2016 -
🛠 - Closures Capture Semantics, Part 1: Catch them all! - 19.10.2016 -
🔶 - Tips for Backwards Compatibility with iOS 10 Today Widgets - 19.10.2016 -
📱 - Measurement Basics - 19.08.2016 -
🔶 3 - What do you do with Any? - 18.10.2016 -
🔶 3 - Event Delivery on iOS: Part 1 - 16.10.2016 -
📱 - Google Blockly for iOS - 14.10.2016 -
📱 - Singletons - 14.10.2016 -
🔶 - Slicing - 14.10.2016 -
🔶 - Optional Non-Escaping Closures - 13.10.2016 -
🔶 3 - Learn how to integrate Siri with your app thanks to Apple SiriKit - 12.10.2016 -
📱 - Real World Swift Performance - 11.10.2016 -
🔶 - Updating Strings for Swift 3 - 10.10.2016 -
🔶 3 - Strings in Swift 3 - 07.10.2016 -
🔶 3 - What Do You Do with Any? - 07.10.2016 -
🔶 3 - Split View Controller Display Modes - 07.10.2016 -
📱 🔶 - Smooth Scrolling in Buffer for iOS: How (and Why) We Implemented AsyncDisplayKit - 07.10.2016 -
📱 🔷 - Silicon Valley comes to Naples: Apple prepares to open Italian academy - 06.10.2016 -
💲 - App Groups and iMessage Extensions for iOS 10 - 06.10.2016 -
🔶 📱 - Edge Cases with Background Downloads - 06.10.2016 -
📱 - Realm Mobile Platform - 04.10.2016 -
📱 - Search Ads Now Available - 04.10.2016 -
📱 💲 - Swift Option Sets - 30.09.2016 -
🔶 3 - Updating NSURLSession Calls to Swift 3.0 - 30.09.2016 -
🔶 3 - Swifty Delegates - 30.09.2016 -
🔶 3 - Swift 3 Access Controls - 30.09.2016 -
🔶 3 - Preparing Your iOS App for Extensions - 28.09.2016 -
📱 - Token Authentication Now Available for Push Notifications - Apple - 25.09.2016 -
📱 ⌚ 🖥 - New subscriptions data and reports are now available - Apple - 25.09.2016 -
💲 - Memory Graph Debugger Tips - 25.09.2016 -
🛠 - openURL Deprecated in iOS10 - 24.09.2016 -
📱 - Swift API Design Guidelines - 23.09.2016 -
🔶 - Swift 3 and Declarative Programming - 23.09.2016 -
📱 🔶 - Pushing the Envelope with iOS 10 Notifications - Realm - 23.09.2016 -
📱 🔶 - Handling Dates with Swift 3 - 23.09.2016 -
🔶 3 - Function Naming in Swift 3 - 19.09.2016 -
🔶 3 - Offering Subscriptions by Apple - 16.09.2016 -
📱 - Auto Layout and Alignment Rectangles - 16.09.2016 -
🔶 3 - It's Now or Never - 16.09.2016 -
🔶 3 - Swift 3.0 Released! - 16.09.2016 -
🔶 - How to Unit test your Network Layer in iOS - 16.09.2016 -
🔶 📱 - Working with JSON in Swift by Apple - 16.09.2016 -
🔶 - Escaping and Nonescaping Closures in Swift 3 - 16.09.2016 -
🔶 3 - How to generate haptic feedback with UIFeedbackGenerator - 16.09.2016 -
🔶 📱 - The Savvy App Store Submission Checklist - 16.09.2016 -
📱 - Migrating Code Signing Configurations to Xcode 8 - 16.09.2016 -
📱 🛠 - A (mostly) comprehensive list of Swift 3.0 and 2.3 changes - 16.09.2016 -
🔶 - Getting Ready for App Transport Security in 2017 - 16.09.2016 -
📱 - App Store Optimization in 7 steps - 16.09.2016 -
📱 🎯 - Notifications in iOS 10 - 16.09.2016 -
📱 🔶 - Xcode Visual Memory Debugger - 16.09.2016 -
🛠 - IB Free: Living Without Interface Builder and Loving It - 16.09.2016 -
🔶 - Swift App Bundle Sizes - Davit Owens - 29.08.2016 -
🔶 - Structs and Mutation in Swift - Chris Eidhof - 26.08.2016 -
🔶 3 - Using Redux with MVVM in iOS - Goksel Koksal - 26.08.2016 -
📱 - MVVM is Quite Okay at What It Is Supposed to Do - Christian Tietze - 24.08.2016 -
📱 - Pattern Matching in Swift - Cosmin Pupaza - 24.08.2016 -
🔶 3 - Advanced & Practical Enum Usage in Swift - Benedikt Terhechte - 23.08.2016 -
🔶 2.2
Shortcuts & Useful commands & Tools
- Swiff - Human readable time diffs on lines of output when running - 03.02.2019 -
🔶 - How to use Wireless Debugging on Xcode 9 - 21.09.2017 -
🛠 - How to show the duration of builds in Xcode - 04.05.2017