Working with existing applications.
WHAT YOU WILL INHERIT
Objective-C code Interface files built with older tools Deprecated frameworks Manual layout, or no constraints No tests
WHAT TO DO FIRST
Get it building Get it running on a current device Establish what is actually still used
WHAT NOT TO DO
Begin a rewrite.
WHY
Feature parity takes far longer than expected, and fixed defects return.
WHAT TO DO INSTEAD
Modernise incrementally, screen by screen.
WHAT TO ADD BEFORE CHANGING ANYTHING
Tests around the area you must change.
WHAT TO ADDRESS FIRST
Anything preventing building with current tooling Deprecated frameworks that will be removed Crashes and memory faults
WHAT TO ADD TO OLDER HEADERS
Nullability annotations, before using them from Swift.
WHY
Otherwise values arrive implicitly unwrapped and crash unexpectedly.
WHAT TO CONVERT FIRST
Self-contained code with clear boundaries.
WHAT TO LEAVE
Working code nobody needs to change.
WHAT TO RECORD
What you learn, since nobody else knows it.