Skip to content
tezvyn:

IOS

317 bites tagged IOS — interview questions with model answers, and 60-second explainers.

React Native2 min read

Purpose of RCTBridgeModule and ReactContextBaseJavaModule

These declare a class as a discoverable native module, provide the JS-facing name, and let RN export methods to JavaScript. understanding the native module contract.

React Native1 min read

Optimizing Slow iOS CI Build Times

Profile the build, cache CocoaPods and DerivedData, use prebuilt frameworks, parallelize, scope to changed work. CI build optimization. buying faster runners without measuring the bottleneck first.

React Native1 min read

iOS Provisioning Profiles and Signing Certificates

The certificate proves developer identity, the App ID names the app, the profile binds certificate, App ID, and devices. iOS code-signing model. confusing the certificate with the profile or treating them as interchangeable.

React Native1 min read

Requesting runtime permissions on iOS and Android

Declare permissions in Info.plist and AndroidManifest, then check status and request at runtime just before use, handling granted, denied, and blocked. Permission lifecycle awareness.

React Native1 min read

Conditional logic with Platform.Version

Platform.Version is a number on Android (API level) and a string on iOS; gate features by version to use new APIs only where supported. OS-version-aware branching. comparing the iOS string version as a number.

React Native1 min read

Platform-specific file extensions

Name files Component.ios.js and Component.android.js; import without the extension and the bundler picks the right one per platform. knowledge of platform file resolution. thinking you must import the extension explicitly.

Design Systems1 min read

Delivering one color token to three platforms

One JSON source, generated CSS variable for web, color resource XML for Android, and Swift/asset for iOS. platform-specific token output. pasting the same hex by hand into each platform.

iOS & Swift1 min read

XCFrameworks and Binary Distribution Trade-offs

XCFramework bundles slices for multiple platforms/architectures, used to hide source or speed builds. knowledge of binary distribution on Apple platforms. ignoring debugging, Swift ABI, and update friction trade-offs.

iOS & Swift1 min read

Decoupled Cross-Module Navigation in Modular iOS

Depend on a shared abstraction, register concrete routers in a coordinator or registry, resolve at runtime. decoupling feature modules. importing module B directly or coupling features through a god object.

iOS & Swift1 min read

Resolving Conflicting Transitive Versions in SPM

SPM allows only one version per package, so diagnose the graph, then update, pin, or fork to find an overlap. understanding of SPM's single-version resolution. assuming both versions can coexist like in some other ecosystems.

iOS & Swift1 min read

Making a Legacy UIViewController Testable

Extract logic into a testable view model, inject dependencies, keep the controller a thin humble object. refactoring legacy UIKit for testability. rewriting everything at once or testing through the UIKit lifecycle directly.

iOS & Swift1 min read

setUp() and tearDown() in XCTestCase

SetUp builds fresh state before each test, tearDown cleans up after, ensuring independence. knowledge of XCTest lifecycle and test isolation. thinking they run once per class or sharing mutable state across tests.

iOS & Swift1 min read

Generating Video Thumbnails with AVAssetImageGenerator

Load AVAsset, configure AVAssetImageGenerator, request the time off the main thread, hop back to update UI. AVFoundation usage plus async UI hygiene. doing the decode synchronously on the main thread.

iOS & Swift1 min read

Building a Card Flip Animation in SwiftUI

Drive a flipped state, rotate both faces with rotation3DEffect, hide the back face. SwiftUI animation and 3D transform fluency. forgetting the back is mirrored or showing both faces at once.

iOS & Swift1 min read

Push vs Modal Presentation in UIKit

Push adds to a nav stack with back, modal presents a self-contained interrupting flow. understanding of UIKit navigation models. treating them as interchangeable or ignoring the stack relationship.

iOS & Swift1 min read

IBOutlet vs IBAction in Interface Builder

Outlet references a view, action handles an event, both connect via Ctrl-drag. grasp of Storyboard-to-code wiring. confusing the two directions or forgetting the connection is runtime, not compile-time.

iOS & Swift1 min read

Minimizing Storyboard merge conflicts

Split into many small storyboards or xibs, or move to programmatic or SwiftUI layout; process-wise coordinate ownership and merge often. collaboration on monolithic XML UI files.

iOS & Swift2 min read

Faulting in Core Data

A fault is a placeholder object whose property data is not yet loaded; accessing a property fires the fault and fetches from the store, saving memory. lazy loading in Core Data. ignoring the N+1 fetch storm faulting can cause.

iOS & Swift2 min read

View identity in SwiftUI and the .id() modifier

Identity links a view to its persistent state and transitions; structural identity comes from position, explicit identity from .id(); changing the id resets state and forces a new view. how SwiftUI tracks views across updates.

iOS & Swift2 min read

Debugging a closure capture leak in a third-party library

Use the Memory Graph Debugger to inspect retain paths, the Leaks and Allocations instruments, and malloc stack logging; trace the cycle before patching. methodical leak diagnosis.

iOS & Swift1 min read

Exposing Swift classes to Objective-C

Subclass NSObject or mark members @objc, import the generated ModuleName-Swift.h, and accept that Swift-only types like enums with associated values cannot cross. Swift-to-ObjC interop rules.

iOS & Swift1 min read

Diagnosing choppy scrolling performance

Reach for Instruments, especially the Time Profiler and Core Animation/Hangs tools, and look for main-thread work and dropped frames. profiling discipline over guessing. blindly optimizing without measuring first.

iOS & Swift1 min read

Purpose and setup of an Objective-C bridging header

The bridging header imports ObjC headers into Swift; Xcode auto-creates it or you add it manually and set the build setting. mixed-language project setup. confusing it with the generated Swift-to-ObjC header.

iOS & Swift2 min read

Privacy manifests and the app privacy report

PrivacyInfo.xcprivacy declares collected data types, tracking, and reasons for required-reason APIs; Xcode aggregates your manifest plus SDK manifests into a privacy report. privacy-manifest responsibilities.

Get IOS bites daily.

Five a day, five minutes, offline. With quizzes so it sticks.

Open testing — you’ll join as an early tester.