This is a curated list.

Xcode keyboard shortcuts

  1. Xcode shortcut Cheatsheet pdf
  2. Pluralsight, Becoming an Xcode power user by @fattywaffles

Xcode storyboards

  1. treatment

Language cheat sheets

closure syntax (Swift) -- inspired by block syntax (Obj-C), see also: function pointer syntax (C)

Communities / Blogs / News

  1. Apple (the official swift reference book, swift.org)
  2. nshipster
  3. hackingwithsift
  4. objc.io (Advanced swift, functional swift, swiftUI books, videos)
  5. swiftbysundell
  6. Ray Wenderlich
  7. Mike Ash's blog
  8. swiftrocks
  9. Donny wals
  10. SwiftLee
  11. ios dev weekly e-mail newsletter
  12. WWDC 2019 viewing guide
  13. Some great, detailed write-ups here
  14. Max Chuquimia
  15. Swift Rocks

Podcasts

  1. Core Intuition
  2. TBD

swift <-> objc interop

  1. importing_swift_into_objective-c
  2. swift and obj-c interoperability

Xcode build speed

  1. ricardo on medium
  2. macstadium's take
  3. Optimizing swift build times

Composability of View Controllers

  1. View Controller Container Examples also alternative to presentors for managing a flow. see also this and this and official docs and [DTOverlayController] (https://github.com/tungvoduc/DTOverlayController) and dated but interesting
  2. Overlay style like how PencilKit does it...
  3. Definitive guide to passing data across vc's segues, etc. -- interesting moving casting and data passing out to an extension of UIStoryboardSegue

Testing

  1. UITests cheat sheet
  2. Structuring UI Tests insight
  3. Handling system alerts during UI Tests
  4. Scrolling a scroll view from a UITest
  5. Bitrise's guide to unit/ui tests
  6. Bitrise's UI/Unit testing overview
  7. Apple's wwdc 2019 video on unit/ui tests
  8. q/realtalk: Are mocking libraries even useful anymore for swift, considering protocol extensions and careful structuring of code makes it easier to swap in temporary stub/mocks via protocols?

Debugging

  1. Developer tools for UI debugging
  2. Concise explanation of allocation, retain/release tracking with Instruments on stack overflow

Setting and holding a baseline

  1. 3 ways/levels to silence build warings
  2. SwiftFormat by Nick Lockwood -- my choice, see nshipster article for breakout of other options

AutoLayout

  1. The Auto Layout book
  2. Autolayout pluralsight videos: Fundamentals and Adaptive UI's
  3. UILayoutGuide guide
  4. spacer views between other views for centering betweenthing pre-UILayoutGuide

runloops

  1. Dive into the runloop
  2. UIkit rendering part 1 2 3 - runloop
  3. Run runloop run

bitcode

  1. bitcode demystified

Tools from outside Apple >XC11.4, iOS13

  1. Quicklook ipa/xarchives
  2. swiftpm? cocoapods? carthage? mint?
  3. xc just locked down xc plugin ecosystem, so no more alcatraz
  4. fastlane
  5. bitrise

Other curated lists

  1. Best resources for advanced ios/swift

misc

  1. Asset catalogs: Custom bundles and asset catalogs and here
  2. Asynchronous coordination
  3. Swift Algorithms

unknowns

  1. current state of VIPER/MVVM/etc
  2. https://clean-swift.com -- is this real or wat? reaction to MVVM, Viper, etc. see also Lotus MVC
  3. Quicklook car/assetcatalog

deeper debugging, tolook:

  1. Dancing with the debugger and then follow up with facebook/chisel: Chisel is a collection of LLDB commands to assist debugging iOS apps. –
  2. Custom LLDB Commands in Practice | raywenderlich.com –
  3. Advanced Apple Debugging & Reverse | raywenderlich.com Store –
  4. DerekSelander/LLDB: A collection of LLDB aliases/regexes and Python scripts to aid in your debugging sessions –
  5. Swift helpers, and the lldb setup to use them. Presented @ SLUG https://speakerdeck.com/kastiglione/advanced-debugging-and-swift –
  6. Leveraging Swift in Xcode’s LLDB - ITNEXT –
  7. Dave DeLong on Twitter: "@bwebster Add this to your ~/.lldbinit: command regex objc 's/^(.+)$/expr -O -l objc++ -- %1/' Now you can do: (lldb) objc [0x600003b132c0 description]" / Twitter –
  8. How to Extend LLDB to Provide a Better Debugging Experience | Inside PSPDFKit –
  9. Auto Layout Debugging In Swift - iOS App Development - Medium –
  10. Sample .lldbinit –
  11. Stackpoint! Breakpoint call stacks 🥞 - Michael Zuccarino - Medium –
  12. Auto Layout Guide: Ambiguous Layouts – see debug invocable methods
  13. lldb with swift dive
  14. Use your loaf
  15. ivaev
  16. diagnosing memory, thread, and crashes early - Apple
  17. Identifying UIKit runtime version

Swift elegance

  1. Categories of Protocols
  2. custom operators with case pattern matching

Xcode / iOS / resolutions and versions

  1. Xcode releases
  2. Swift versions
  3. iOS Specs matrix
  4. iOS resolutions

Playgrounds

  1. XCTest in Playgrounds
  2. Playground Driven development in swift
  3. Playground generator tool

Architecture of medium to large complexity apps

  1. Point free composable architecture
  2. Architecture Same example for MVC->MCP->MVVM->MVVM+rx->VIPER

Misc unfiltered

Core Bluetooth Research

  1. Core Bluetooth basic -- punchthrough
  2. Improving an SDK with CoreBlutooth -- Error Handling
  3. Interesting libraries Little Bluetooth -- Combine, Bluejay -- Callback based, RxBluetooth
  4. Pairing flow w/RxSwift
  5. Using RX vs Delegates with CoreBluetooth
  6. Intro to BLE iOS

General BLE:

  1. https://blog.attify.com/the-practical-guide-to-hacking-bluetooth-low-energy/, https://www.bluetooth.com/specifications/assigned-numbers/, ble connection intervals
  2. BLE intro

troubleshooting disconnected:
https://stackoverflow.com/questions/52967920/connect-to-bluetooth-cbperipheral-after-app-restart, https://stackoverflow.com/questions/23338767/ios-core-bluetooth-getting-api-misuse-warning, https://stackoverflow.com/questions/65370708/corebluetooth-can-only-accept-commands-while-in-the-connected-state
troubleshooting sleep/mac/powernap/wake on bluetooth
https://apple.stackexchange.com/questions/375462/deeper-sleep-on-macbook-so-it-will-stop-connecting-to-bluetooth-and-draining-bat

3 Things to Know about iOS CoreBluetooth

android - Bluetooth Low Energy Device Simulator/Emulator

Central Disconnecting Inactive

Core Bluetooth Swift ios

Ditto | Getting Started with Core Bluetooth

anetczuk/BluetoothGattMitm: Revealing unknown GATT/BLE protocol by mediation in communication between device and client

ios - How can I reconnect to device after disconnecting in Core Bluetooth

Scan/Discover — bleak 0.13.0 documentation

BLE Flutter stuff
dotintent/FlutterBleLib: Bluetooth Low Energy library for Flutter with support for simulating peripherals

Polidea/blemulator_flutter: BLEmulator Flutter: the Flutter BLE peripheral simulator

Threading

  1. Thread safety in swift

Combine:

  1. Extending existing publishers

Core Data

  1. iCloud core data starter example project

Swift Package indexs:

  1. swift package registry
  2. swift package index

Homekit

  1. open source homekit camera

SwiftUI
Mapping floating point numbers between two ranges in Swift

SwiftUI Cheat sheets/quick ref
SwiftUI - Cheat Sheet

View Modifiers Apple Developer Documentation

SimpleBoilerplates/SwiftUI-Cheat-Sheet: SwiftUI 2.0 Cheat Sheet

SwiftUI Cheat Sheet

Book - SwiftUI Cookbook

SwiftUI Custom components

Gradients

SwiftUI shape with light

SwiftUI special effects w/blurs/blending

Neon Glow View Modifier with Animation SwiftUI

Glowing Apple Logo In SwiftUI

SwiftUI Custom component - slider
How to trigger a function when a Slider changes in SwiftUI

swift - How can I trigger an action when a swiftUI toggle() is toggled?

A subclass of UISlider which has a tool tip indicating the current value of the slider

Custom Slider in SwiftUI

How to create a custom SwiftUI Slider

How to make a custom slider in SwiftUI

SwiftUI <-> UIKit stuff

SwiftUI-Introspect - Introspect underlying UIKit components from SwiftUI

How to adjust the position of a view using its offset

1
2
3
4
5
6
7
8
9
10

SwiftUI Testing
ViewInspector

SwiftUI Animations
Basics
Animatable and AnimatableModifier
Animations in SwiftUI

[Advanced SwiftUI Animations(https://swiftui-lab.com/swiftui-animations-part1/)

SwiftUI Gestures in more depth
Drag Gesture

SwiftUI docs w/examples
swiftontap SwiftUI docs

SwiftUI internals/how it works
SwiftUI Render loop
SwiftUI diffing alg
Avoid escaping closures
Variadic views

UIStackView field guide

Optimizing build times

Reducing iOS build times with interface targets

uFeatures architecture

XCLogParser can provide an overview of build performance characteristics

Scaling iOS Codebase -- video
'''
Build performance section
-Xfrontend -warn-long-function-bodies=100
-Xfrontend -warn-long-expression-type-checking=100

Private/fileprivate/final wherever possible

Interface dependencies

Avoid defining many types in the same file

Build active architecture only

Use DWARF, not dSYMs in debug

Enable whole module optimization

Delete unused code

Remove dependencies

$ defaults write com.apple.dt.Xcode ShowBuildOperationDuration -bool YES

Move dependencies to pre-compiled versions

Modularize better, cache modules

With interface target centric approach, more can be statically linked improving app launch time.
'''

(xcdiff for comparing Xcode projects)[https://github.com/bloomberg/xcdiff]
(xcconfig ultimate guied)[https://pewpewthespells.com/blog/xcconfig_guide.html]

(Xcodegen yml based project file generator)[https://github.com/yonaskolb/XcodeGen]

(Tuist swift based project file generator)
[https://docs.tuist.io]
(awesome tuist)
[https://github.com/tuist/awesome-tuist]
https://medium.com/vptech/solving-modularised-ios-project-challenges-by-adopting-project-generation-eda9cd1ee3bd
https://developers.soundcloud.com/blog/tuist-project-generation
https://ronanociosoig.medium.com/unifying-tuist-projects-80abc226d756
https://github.com/lm2s/Texther
https://medium.com/swlh/first-touches-of-using-tuist-for-xcode-project-generation-f46c630bc29b