Knowledgebase

iOS Development: Everything That Matters, Briefly Print

  • mobiledevelopment, mobile, backup, troubleshooting, permissions, guide, howto, solution
  • 0

The summary.

ALL INTERFACE UPDATES MUST HAPPEN ON THE MAIN THREAD

Work elsewhere must return to it, and violations cause intermittent crashes. Enable the main thread checker during development — it catches them immediately.

Blocking the main thread freezes the interface and the system terminates unresponsive applications.

REFERENCE CYCLES ARE THE MEMORY PROBLEM TO WATCH FOR

Closures capturing their owner, and mutual strong references. Capture weakly and check the object still exists.

The symptom is memory rising as screens open and close, never falling.

STOP WORK WHEN A SCREEN DISAPPEARS

Work continuing on a hidden screen wastes battery and may crash. Always support cancellation, and test rapid navigation.

PERMISSIONS NEED USAGE DESCRIPTIONS

Requesting without one crashes, and review rejects vague wording.

PUT CREDENTIALS AND TOKENS IN THE KEYCHAIN, NEVER IN PREFERENCE STORAGE

Preference storage is unencrypted and included in backups.

TEST UPGRADING FROM THE PREVIOUS RELEASE WITH REAL DATA

An unhandled model change loses user data or crashes on launch.


Was this answer helpful?
Back

Are you happy with your experience? Leave us a review on Trustpilot.


Trustpilot