Tagged articles
139 articles
Page 1 of 2
Sohu Smart Platform Tech Team
Sohu Smart Platform Tech Team
Aug 8, 2025 · Mobile Development

Unlocking the Secrets of Objective‑C Blocks: From Syntax to Runtime Mechanics

This article demystifies Objective‑C blocks by explaining their definition, practical uses, syntax variations, common usage scenarios, underlying data structures and compilation process, copy semantics, variable capture rules, reference‑cycle pitfalls, and provides concise code examples and reference links for iOS developers.

BlocksCompilationMemory Management
0 likes · 15 min read
Unlocking the Secrets of Objective‑C Blocks: From Syntax to Runtime Mechanics
Sohu Tech Products
Sohu Tech Products
Jul 23, 2025 · Mobile Development

Mastering iOS Locks: From NSLock to os_unfair_lock and Performance Tips

This article explains the relationship between locks and multithreading on iOS, introduces various lock types such as NSRecursiveLock, NSConditionLock, OSSpinLock, os_unfair_lock, pthread_mutex, and @synchronized, demonstrates resource contention with code examples, and compares their performance and usage scenarios.

LocksObjective‑CiOS
0 likes · 21 min read
Mastering iOS Locks: From NSLock to os_unfair_lock and Performance Tips
Sohu Tech Products
Sohu Tech Products
Jun 11, 2025 · Fundamentals

Mastering iOS Locks: Types, Usage, and Performance Comparison

This article explains the relationship between locks and multithreading on iOS, introduces common lock types such as NSRecursiveLock, NSConditionLock, OSSpinLock, os_unfair_lock, pthread_mutex, and @synchronized, demonstrates resource contention with code examples, discusses lock selection, priority inversion, and provides a performance ranking of various locks.

LocksObjective‑CiOS
0 likes · 22 min read
Mastering iOS Locks: Types, Usage, and Performance Comparison
Baidu Geek Talk
Baidu Geek Talk
Jan 22, 2025 · Mobile Development

iOS Sandbox Disk Management and Cleaning Strategies

The article explains iOS sandbox storage by detailing the four main directories, their backup rules, naming conventions, and retrieval APIs, then outlines how to calculate physical file size and implements both automatic quota‑based and manual user‑driven cleaning methods, including system cache removal for tmp, WKWebView, and dyld caches.

Cache CleaningObjective‑Cdisk-management
0 likes · 22 min read
iOS Sandbox Disk Management and Cleaning Strategies
Sohu Tech Products
Sohu Tech Products
Jan 8, 2025 · Mobile Development

Unveiling iOS Blocks: Memory Layout, Types, and Clang Conversion

This article dissects iOS blocks, explaining their struct‑based memory layout, the three block types, how they are transformed into C++ code with clang, and the impact of capturing variables—including value, static, global, and object references—on block behavior and lifecycle.

BlocksClangObjective‑C
0 likes · 12 min read
Unveiling iOS Blocks: Memory Layout, Types, and Clang Conversion
Sohu Tech Products
Sohu Tech Products
Dec 25, 2024 · Mobile Development

Masonry Layout Framework: Bundle Size Impact and Optimization Solutions

Masonry, a lightweight iOS layout framework, simplifies constraints with chainable syntax but its block‑based APIs can add several megabytes to an app’s bundle when heavily used; replacing those blocks with non‑block alternatives reduces the size increase to roughly one kilobyte, preserving performance.

Auto LayoutNSLayoutConstraintObjective‑C
0 likes · 2 min read
Masonry Layout Framework: Bundle Size Impact and Optimization Solutions
Sohu Tech Products
Sohu Tech Products
Nov 6, 2024 · Mobile Development

UIStackView Tutorial: A Comprehensive Guide to iOS Linear Layout

This tutorial explains UIStackView, Apple’s iOS 9 linear layout container that mirrors Flexbox concepts, covering axis, distribution, alignment, and spacing, showing how to add arranged subviews, hide them dynamically, adjust hugging and compression priorities, and noting its limitations such as lacking order, flex‑grow, and flex‑basis controls.

Auto LayoutLinear LayoutMobile Development
0 likes · 8 min read
UIStackView Tutorial: A Comprehensive Guide to iOS Linear Layout
Huolala Tech
Huolala Tech
Oct 8, 2024 · Mobile Development

iOS 17 Text‑to‑Speech Crash: Root Cause and Effective Fixes

This article investigates a recurring text‑to‑speech crash on iOS 17 devices, detailing the EXC_BAD_ACCESS error, analyzing stack traces, exploring internal AVAudioEngine and AUAudioUnit_XPC structures, and presenting two remediation strategies—including a hook‑based approach that safely bypasses problematic dealloc and stop calls.

AVAudioEngineCrashHook
0 likes · 16 min read
iOS 17 Text‑to‑Speech Crash: Root Cause and Effective Fixes
Huolala Tech
Huolala Tech
Aug 13, 2024 · Mobile Development

How MVP+Context Transforms iOS Architecture for Scalable Apps

This article analyzes common iOS architectural patterns, identifies the drawbacks of traditional MVP implementations, and introduces a deep‑optimization MVP+Context solution with role definitions, automatic binding, memory‑leak prevention, and Swift support, illustrated with real‑world code and diagrams.

MVPObjective‑CSwift
0 likes · 27 min read
How MVP+Context Transforms iOS Architecture for Scalable Apps
Tencent Music Tech Team
Tencent Music Tech Team
Dec 22, 2023 · Mobile Development

Root Cause Analysis of iOS Crash Caused by Method Swizzle on NSString

The app crashed on launch because a third‑party SDK swizzled NSString’s stringByAppendingString: with a method whose name conflicted with the app’s own swizzle, causing recursive calls through the __NSCFString class‑cluster and a stack overflow; renaming the methods with a unique prefix and excluding __NSCFString from swizzling resolves the issue.

Class ClusterMethod SwizzleObjective‑C
0 likes · 11 min read
Root Cause Analysis of iOS Crash Caused by Method Swizzle on NSString
Baidu Geek Talk
Baidu Geek Talk
Nov 15, 2023 · Mobile Development

Automated OC Code Refactoring Practice (Part 3): Data Item Read/Write Class Encapsulation and Call Site Adaptation

The third part of the series shows how Python scripts can automatically refactor Objective‑C code by encapsulating each data item’s read/write operations in static wrapper classes and rewriting over 600 call sites to use generated XXXSettingReader and XXXSettingWriter methods, achieving zero bugs.

Code RefactoringObjective‑CPython
0 likes · 11 min read
Automated OC Code Refactoring Practice (Part 3): Data Item Read/Write Class Encapsulation and Call Site Adaptation
Tencent Music Tech Team
Tencent Music Tech Team
Oct 20, 2023 · Mobile Development

Root Cause Analysis of OOM Crash in iOS Karaoke App Caused by Swizzled NSMutableArray Protection

An OOM crash in the K‑song iOS karaoke app was traced to a configuration that swizzled several NSMutableArray methods, causing each observer lookup to autorelease objects, rapidly filling autorelease‑pool pages and exhausting memory; converting the protection code to manual reference counting eliminated the leak and stopped the crashes.

AutoreleasePoolOOMObjective‑C
0 likes · 21 min read
Root Cause Analysis of OOM Crash in iOS Karaoke App Caused by Swizzled NSMutableArray Protection
Sohu Tech Products
Sohu Tech Products
Sep 13, 2023 · Mobile Development

iOS Interaction Blocking: Intercepting User Events at UIApplication Level

To globally block all user interactions—including touches, motion, remote control, and press events—developers can subclass UIApplication and override its sendEvent: method, providing a disableUserInteraction: API with timed re‑enabling and a counter to safely manage concurrent disable requests.

Mobile DevelopmentObjective‑CSwift
0 likes · 8 min read
iOS Interaction Blocking: Intercepting User Events at UIApplication Level
Baidu App Technology
Baidu App Technology
Jul 10, 2023 · Mobile Development

Baidu App iOS Package Size Optimization: Code Optimization Techniques

The article explains how Baidu App reduces its iOS package size by analyzing Link Map files and applying six code‑optimization techniques—unused class and module slimming, unused method pruning with LLVM, duplicate‑code detection, utility‑method consolidation, and A/B‑test hardening—yielding up to 8 MB of savings.

AB testingLink MapMach-O
0 likes · 15 min read
Baidu App iOS Package Size Optimization: Code Optimization Techniques
Baidu Geek Talk
Baidu Geek Talk
May 23, 2023 · Mobile Development

Swift Optional Types: Common Pitfalls and Best Practices

The article explains common Swift optional pitfalls—such as forced unwrapping, misuse of implicitly‑unwrapped optionals, and unsafe type casting—and shows how proper optional binding, explicit Objective‑C nullability annotations, and cautious casting can prevent runtime crashes and improve code maintainability.

Code PracticesNullabilityObjective‑C
0 likes · 13 min read
Swift Optional Types: Common Pitfalls and Best Practices
NetEase Cloud Music Tech Team
NetEase Cloud Music Tech Team
Mar 6, 2023 · Mobile Development

How NetEase Cloud Music Made Objective‑C Components Module‑Ready for Swift Integration

This article details the challenges and step‑by‑step solutions the NetEase Cloud Music iOS team used to modularize legacy Objective‑C libraries, enabling seamless Swift interop through modulemap generation, CocoaPods configuration, and custom build scripts while addressing macro, header, and static‑library issues.

Build SystemCocoaPodsInterop
0 likes · 14 min read
How NetEase Cloud Music Made Objective‑C Components Module‑Ready for Swift Integration
JD Tech
JD Tech
Dec 21, 2022 · Fundamentals

Understanding Key‑Value Coding (KVC) in Objective‑C: Principles, Execution Flow, and Advanced Applications

This article analyses the inner workings of Objective‑C’s Key‑Value Coding (KVC) by dissecting its setter and getter generation, primitive value handling, NSNumber/NSValue wrapping, and demonstrates advanced usage such as batch property updates, aggregation, and data filtering in real‑world projects.

KVCKey-Value CodingNSValue
0 likes · 15 min read
Understanding Key‑Value Coding (KVC) in Objective‑C: Principles, Execution Flow, and Advanced Applications
Huolala Tech
Huolala Tech
Nov 15, 2022 · Mobile Development

How We Reduced iOS App Launch Time by Up to 99% on Low-End Devices

This article details a multi‑phase approach to dramatically improve iOS app launch performance, especially on low‑end iPhone models, by analyzing slow functions, applying image compression, lazy loading, run‑loop monitoring, and eliminating unnecessary background tasks, achieving launch times under 3 seconds for 99.7% of users.

Objective‑CSwiftiOS
0 likes · 28 min read
How We Reduced iOS App Launch Time by Up to 99% on Low-End Devices
Baidu App Technology
Baidu App Technology
Oct 24, 2022 · Mobile Development

Understanding SIGKILL Crashes and Capturing Them with MetricKit on iOS

A SIGKILL crash indicates the OS forcibly terminated an iOS app, which cannot be caught directly, but MetricKit (iOS 14+) can automatically collect diagnostic payloads after restart, allowing developers to extract termination reasons, stack traces, understand codes like 0x8badf00d, and address common causes such as main‑thread watchdog timeouts and deadlocks.

MetricKitObjective‑Ccrash analysis
0 likes · 10 min read
Understanding SIGKILL Crashes and Capturing Them with MetricKit on iOS
NetEase Cloud Music Tech Team
NetEase Cloud Music Tech Team
Sep 21, 2022 · Mobile Development

Optimizing Startup Performance of NetEase Cloud Music iOS App

To cut the NetEase Cloud Music iOS app’s sluggish launch, the team trimmed dynamic libraries, replaced costly +load registrations with static modules, swapped SBJson for native parsing, reordered binaries, lazy‑loaded heavy services and ads, and streamlined UI initialization, delivering over 30 % faster cold‑starts and urging ongoing performance monitoring.

Binary ReorderingInstrumentationObjective‑C
0 likes · 34 min read
Optimizing Startup Performance of NetEase Cloud Music iOS App
Tencent Cloud Developer
Tencent Cloud Developer
Sep 5, 2022 · Fundamentals

Static Function Hooking in Objective-C Using LLVM Pass

The article presents a technique for static function hooking in Objective‑C by writing a custom LLVM Pass that modifies the intermediate representation during compilation to inject stub calls at chosen points inside a function, and details the required LLVM setup, Pass implementation, Clang integration, and Xcode configuration.

ClangIR ModificationLLVM
0 likes · 11 min read
Static Function Hooking in Objective-C Using LLVM Pass
NetEase Cloud Music Tech Team
NetEase Cloud Music Tech Team
Aug 29, 2022 · Mobile Development

How to Speed Up Image Loading in iOS Apps: URL Fixing and Cache Optimization

This article analyzes why image loading can become a bottleneck in iOS apps like NetEase Cloud Music, identifies factors such as image size, network conditions, and cache behavior, and presents a comprehensive solution that standardizes URL parameters, reuses local images, and extends SDWebImage's manager and cache to achieve up to 50% faster downloads and significant CDN bandwidth savings.

Objective‑CSDWebImageURL optimization
0 likes · 17 min read
How to Speed Up Image Loading in iOS Apps: URL Fixing and Cache Optimization
HomeTech
HomeTech
Aug 23, 2022 · Mobile Development

Extracting Car Outlines from Sample Images for 360° Vehicle Capture in an iOS App

This article describes a step‑by‑step iOS implementation that converts example car images into bitmap points, scans edges, removes duplicate points, compensates missing vertices, and finally builds a closed BezierPath to guide 360° vehicle photography, including full Objective‑C code snippets.

BezierPathContour DetectionImage Processing
0 likes · 8 min read
Extracting Car Outlines from Sample Images for 360° Vehicle Capture in an iOS App
Sohu Tech Products
Sohu Tech Products
Jun 30, 2022 · Mobile Development

Understanding the Implementation of weak Pointers in the Objective‑C Runtime

This article explains how Objective‑C implements weak pointers using a hash‑based weak table, SideTables, ExplicitInit, and various low‑level C++ template functions such as storeWeak, weak_register_no_lock, and weak_clear_no_lock to ensure automatic nil‑assignment and safe deallocation.

C++ templatesMemory ManagementObjective‑C
0 likes · 19 min read
Understanding the Implementation of weak Pointers in the Objective‑C Runtime
Sohu Tech Products
Sohu Tech Products
Jun 8, 2022 · Mobile Development

Practical Uses of RunLoop in iOS: Thread Keep‑Alive, Stopping, Lazy Image Loading, Lag Detection, Crash Protection, and Integration in the Matrix Framework

This article explains how iOS RunLoop can be leveraged for thread keep‑alive, controlled termination, lazy image loading, various lag‑detection techniques, crash protection strategies, and demonstrates its integration within the open‑source Matrix framework, providing concrete Swift and Objective‑C code examples.

Mobile DevelopmentObjective‑CPerformance Monitoring
0 likes · 18 min read
Practical Uses of RunLoop in iOS: Thread Keep‑Alive, Stopping, Lazy Image Loading, Lag Detection, Crash Protection, and Integration in the Matrix Framework
HomeTech
HomeTech
Jun 8, 2022 · Mobile Development

Handling iOS Camera Preview vs Captured Image Discrepancy in VIN Recognition

This article investigates the mismatch between iOS camera preview and captured images in VIN recognition, explains the aspect‑ratio scaling cause, derives compensation formulas, and provides Objective‑C code to adjust crop rectangles for accurate framing.

CameraImage ProcessingObjective‑C
0 likes · 9 min read
Handling iOS Camera Preview vs Captured Image Discrepancy in VIN Recognition
Sohu Tech Products
Sohu Tech Products
May 25, 2022 · Mobile Development

Understanding the AutoreleasePool Mechanism in Objective‑C

This article explains how Objective‑C’s AutoreleasePool works under ARC and MRC, covering NSAutoreleasePool, the @autoreleasepool syntax, internal C++ structures, page management, POOL_BOUNDARY handling, nested pools, and the interaction with the run‑loop for timely object release.

ARCAutoreleasePoolMRC
0 likes · 14 min read
Understanding the AutoreleasePool Mechanism in Objective‑C
Sohu Tech Products
Sohu Tech Products
May 11, 2022 · Mobile Development

Implementing Multi‑QR Code Detection and Interaction in iOS

This article explains how to detect multiple QR codes in an iOS image using Core Image, mark each code's location, and let users select a specific code either by adding transparent buttons or by handling touch events, covering coordinate conversion, scaling, and offset calculations.

Core ImageObjective‑CQR code
0 likes · 11 min read
Implementing Multi‑QR Code Detection and Interaction in iOS
IEG Growth Platform Technology Team
IEG Growth Platform Technology Team
May 11, 2022 · Mobile Development

iOS Development Knowledge Map and Recommended Resources

An organized iOS development knowledge map and a comprehensive list of recommended resources—including language fundamentals, UI libraries, networking tools, data storage solutions, performance monitoring, architecture design, algorithms, and multimedia development—are presented to help iOS developers systematically learn and build applications.

DevelopmentMobileObjective‑C
0 likes · 7 min read
iOS Development Knowledge Map and Recommended Resources
Sohu Tech Products
Sohu Tech Products
Mar 16, 2022 · Mobile Development

Exploring the OC Message Sending Mechanism

This article provides an in‑depth analysis of Objective‑C's runtime message‑sending process, covering the roles of objc_msgSend, method caching, dynamic method resolution, and message forwarding, with detailed code examples and assembly snippets to illustrate each step.

Dynamic Method ResolutionMessage DispatchMessage Forwarding
0 likes · 26 min read
Exploring the OC Message Sending Mechanism
BaiPing Technology
BaiPing Technology
Feb 28, 2022 · Mobile Development

How to Build a Unified Cross‑Platform Routing SDK for iOS Apps

This article explains the design and implementation of a unified routing SDK for iOS that enables page jumps, parameter passing, return values, interceptors, redirection, and cross‑technology integration (Native, Flutter, HTML5, Mini‑Programs) while remaining non‑intrusive to existing codebases.

Objective‑CSDKSwift
0 likes · 22 min read
How to Build a Unified Cross‑Platform Routing SDK for iOS Apps
BaiPing Technology
BaiPing Technology
Feb 14, 2022 · Mobile Development

How to Make Long‑TCP Connections as Simple as Short Requests on iOS

This article explains a technique for writing long‑TCP connection business code on mobile devices that is as efficient and concise as short‑link code, using request_id mapping, protobuf messages, and a lightweight SendCore layer with timeout handling.

Mobile NetworkingObjective‑CRequest ID
0 likes · 10 min read
How to Make Long‑TCP Connections as Simple as Short Requests on iOS
Sohu Tech Products
Sohu Tech Products
Jan 26, 2022 · Mobile Development

Crash Caused by Mutating a Collection During Enumeration and the Mechanics of copy vs mutableCopy in Objective‑C

This article documents a runtime crash triggered by mutating an NSMutableSet while enumerating it, explains how the Objective‑C copy attribute works, demonstrates shallow and deep copy behavior for strings and collections, and provides low‑level source analysis of the copy implementation in the Apple runtime.

CrashDeepCopyMutableSet
0 likes · 14 min read
Crash Caused by Mutating a Collection During Enumeration and the Mechanics of copy vs mutableCopy in Objective‑C
58 Tech
58 Tech
Dec 31, 2021 · Mobile Development

Swift and Objective‑C Mixed Development in 58 Group’s Real‑Estate Business: Architecture, Module Integration, and Reflection Issues

This article details the background, current status, and engineering architecture of introducing Swift into 58 Group’s real‑estate iOS apps, explains the two main mixed‑compilation approaches (bridging header and module), presents practical module setup, discusses reflection pitfalls, binding solutions, and performance comparisons between Swift and Objective‑C implementations.

Mixed DevelopmentObjective‑CReflection
0 likes · 21 min read
Swift and Objective‑C Mixed Development in 58 Group’s Real‑Estate Business: Architecture, Module Integration, and Reflection Issues
Sohu Tech Products
Sohu Tech Products
Nov 17, 2021 · Mobile Development

KVO Mechanism Analysis for iOS Development

This article provides a comprehensive analysis of iOS's Key-Value Observing (KVO) mechanism, covering its fundamentals, registration and observation steps, underlying isa‑swizzling implementation, usage patterns, common pitfalls, debugging techniques, and alternative solutions such as custom KVO implementations and the KVOController library.

KVOKey-Value ObservingMobile Development
0 likes · 19 min read
KVO Mechanism Analysis for iOS Development
58 Tech
58 Tech
Oct 26, 2021 · Mobile Development

Swift and Objective‑C Interoperability: Moduleization and Mixed‑Language Integration Practices at 58.com

This article details 58.com’s Swift migration initiative, describing the background of Swift adoption, the objectives of the mixed‑language project, the practical steps for SDK module‑ization, bridging techniques, nullability annotations, macro handling, +load replacements, and future plans for improving Objective‑C to Swift integration.

InteropObjective‑CSDK
0 likes · 29 min read
Swift and Objective‑C Interoperability: Moduleization and Mixed‑Language Integration Practices at 58.com
JD Retail Technology
JD Retail Technology
Oct 11, 2021 · Mobile Development

Common Programming Paradigms in Objective‑C: Chainable, Reactive, Functional, Procedural, and Object‑Oriented

This article introduces the major programming paradigms frequently used in Objective‑C—including chainable, reactive, functional, procedural, and object‑oriented styles—explaining their concepts, advantages, and providing concrete code examples to help developers design cleaner, more maintainable iOS applications.

ChainableObject-OrientedObjective‑C
0 likes · 11 min read
Common Programming Paradigms in Objective‑C: Chainable, Reactive, Functional, Procedural, and Object‑Oriented
BaiPing Technology
BaiPing Technology
Sep 22, 2021 · Mobile Development

Master CocoaPods: Complete Guide to iOS Dependency Management

This comprehensive tutorial explains how to use CocoaPods for iOS and macOS development, covering installation, project initialization, dependency management, podspec creation, private repository setup, version control, caching, and troubleshooting, enabling developers to efficiently manage third‑party libraries and create reusable modules.

CocoaPodsObjective‑CPrivate Pods
0 likes · 30 min read
Master CocoaPods: Complete Guide to iOS Dependency Management
WecTeam
WecTeam
Sep 10, 2021 · Mobile Development

Boost Build Speed 35%: Swift‑ObjC Mixed Compilation & ByteDance Data Governance

This week’s WecTeam Front‑end Weekly spotlights two technical deep‑dives: a Swift‑Objective‑C mixed‑compilation technique that slashes build times by 35%, and ByteDance’s large‑scale data‑tracking governance framework that underpins its trillion‑plus real‑time analytics pipeline.

ByteDanceCompilation OptimizationData Governance
0 likes · 2 min read
Boost Build Speed 35%: Swift‑ObjC Mixed Compilation & ByteDance Data Governance
Kuaishou Frontend Engineering
Kuaishou Frontend Engineering
Aug 30, 2021 · Mobile Development

Why Does NSString Leak in Long‑Running Threads? Exploring ARC and AutoreleasePool

An in‑depth analysis of a memory‑growth issue observed in a Kuaishou live‑stream app reveals how ARC, autorelease pools, and NSString’s class‑cluster implementation interact, why @autoreleasepool blocks resolve the leak, and how compiler optimizations and thread‑local pools affect object release in long‑running C++ threads.

ARCAutoreleasePoolMemory Management
0 likes · 23 min read
Why Does NSString Leak in Long‑Running Threads? Exploring ARC and AutoreleasePool
Kuaishou Tech
Kuaishou Tech
Aug 3, 2021 · Mobile Development

Practical Experience of Swift/Objective‑C Binary Mixed Compilation at Kuaishou Overseas Client Team

This article shares the Kuaishou overseas client team's practical experiences and solutions for improving compilation efficiency through Swift/Objective‑C binary mixed compilation, covering single‑target and multi‑target strategies, moduleization challenges, binary compatibility, and future directions for mobile development.

CocoaPodsMixed CompilationObjective‑C
0 likes · 18 min read
Practical Experience of Swift/Objective‑C Binary Mixed Compilation at Kuaishou Overseas Client Team
Kuaishou Frontend Engineering
Kuaishou Frontend Engineering
Aug 2, 2021 · Mobile Development

Mastering Swift/ObjC Binary Mixed Compilation: Practical Tips for Mobile Teams

This article shares the Kuaishou overseas client team's experience of improving Swift/Objective‑C mixed compilation through binary packaging, covering single‑target and multi‑target strategies, moduleization challenges, solutions for C++ and header issues, and future best‑practice recommendations for iOS development.

Mixed CompilationObjective‑CSwift
0 likes · 18 min read
Mastering Swift/ObjC Binary Mixed Compilation: Practical Tips for Mobile Teams
ByteDance Dali Intelligent Technology Team
ByteDance Dali Intelligent Technology Team
Jun 19, 2021 · Mobile Development

Hooking iOS UICollectionView Delegate with Method Swizzling and NSProxy: Challenges and Solutions

This article explains how to use AOP techniques such as Method Swizzle and NSProxy to hook UICollectionView and UIViewController delegate methods for precise event tracking, analyzes compatibility problems caused by multiple delegate proxies in large apps, and proposes three practical solutions to avoid crashes and maintain extensibility.

Delegate ProxyHookingMethod Swizzling
0 likes · 15 min read
Hooking iOS UICollectionView Delegate with Method Swizzling and NSProxy: Challenges and Solutions
Sohu Tech Products
Sohu Tech Products
Jun 2, 2021 · Mobile Development

In‑Depth Analysis of YYModel Source Code and Its JSON Parsing Mechanism

This article provides a detailed examination of the YYModel framework’s source code, explaining how it leverages Objective‑C runtime to parse JSON into model objects, covering key files, internal classes, mapping mechanisms, and the core conversion methods with illustrative code examples.

JSONObjective‑CRuntime
0 likes · 12 min read
In‑Depth Analysis of YYModel Source Code and Its JSON Parsing Mechanism
Sohu Tech Products
Sohu Tech Products
May 26, 2021 · Mobile Development

Understanding MVC and MVVM Patterns in iOS Development

This article provides a comprehensive guide to the MVC and MVVM architectural patterns for iOS, explaining their components, interactions, KVO usage, and includes complete Objective‑C code examples that demonstrate how to implement both patterns in a real‑world news‑list app.

Design PatternsKVOMVC
0 likes · 37 min read
Understanding MVC and MVVM Patterns in iOS Development
Kuaishou Tech
Kuaishou Tech
May 21, 2021 · Mobile Development

Swift and Objective‑C Interoperability: Mixing, Modules, and Runtime Dynamics

This article explains how Swift and Objective‑C can be mixed in iOS projects, covering prerequisite settings, CocoaPods module configuration, name mangling, compilation differences, dynamic features, method replacement techniques, and the underlying Swift runtime metadata that enable seamless inter‑language calls.

CocoaPodsInteroperabilityModules
0 likes · 25 min read
Swift and Objective‑C Interoperability: Mixing, Modules, and Runtime Dynamics
JD Retail Technology
JD Retail Technology
Apr 19, 2021 · Fundamentals

Understanding the Objective‑C Class Loading Process in dyld and the objc Runtime

This article explains how an iOS/macOS application is launched, detailing the interaction between dyld and the Objective‑C runtime, the initialization steps performed by _objc_init, and the series of functions such as environ_init, static_init, map_images, read_images, and load_images that together realize classes, selectors, protocols and +load methods before main() is called.

Objective‑CRuntimeclass loading
0 likes · 19 min read
Understanding the Objective‑C Class Loading Process in dyld and the objc Runtime
JD Cloud Developers
JD Cloud Developers
Feb 7, 2021 · Mobile Development

Mastering Swift‑Objective‑C Mixed Compilation in JD’s iOS App: A Practical Guide

This article details JD's journey from Objective‑C to Swift, explaining ABI stability, module stability, library evolution, and step‑by‑step configurations for mixed Swift‑Objective‑C compilation at both project and component levels, including build‑setting tweaks and runtime loading solutions.

Library EvolutionMixed CompilationModule stability
0 likes · 16 min read
Mastering Swift‑Objective‑C Mixed Compilation in JD’s iOS App: A Practical Guide
Sohu Tech Products
Sohu Tech Products
Feb 3, 2021 · Mobile Development

Debugging NSInvocation Out‑of‑Bounds Crash After iOS 13.3 Upgrade

This article analyzes a crash caused by NSInvocation argument out‑of‑bounds on iOS 13.3+, explains the underlying runtime changes, demonstrates how to reproduce the issue with a timer‑triggered message forwarding scenario, and provides a fix by correcting the method signature.

CrashMethodSignatureNSInvocation
0 likes · 7 min read
Debugging NSInvocation Out‑of‑Bounds Crash After iOS 13.3 Upgrade
21CTO
21CTO
Jan 23, 2021 · Mobile Development

Remembering Brad J. Cox: The Visionary Behind Objective‑C and Its Legacy

Brad J. Cox, co‑creator of Objective‑C and a pioneer in software reuse, passed away in 2021, leaving behind a rich personal history, influential publications, and a programming language that shaped Apple's ecosystem before gradually yielding to Swift.

Brad CoxObjective‑CiOS
0 likes · 11 min read
Remembering Brad J. Cox: The Visionary Behind Objective‑C and Its Legacy
Baidu App Technology
Baidu App Technology
Jan 18, 2021 · Mobile Development

Baidu App Objective-C/Swift Mixed Programming Practice - Component Transformation and Interoperability

To enable Objective‑C and Swift mixed programming in Baidu App, static libraries are converted to static frameworks, module stability is activated, headers are module‑ized and dependencies declared via EasyBox, allowing safe inter‑component calls, proper nullability handling, and encouraging broader Swift adoption across the codebase.

Binary DistributionComponentizationFramework
0 likes · 17 min read
Baidu App Objective-C/Swift Mixed Programming Practice - Component Transformation and Interoperability
ITPUB
ITPUB
Jan 14, 2021 · Fundamentals

Uncovering Swift’s Binary Layout: From Dynamic Calls to Mach‑O Class Structures

This article explores Swift’s binary representation by comparing it with Objective‑C, demonstrating runtime dynamic method invocation, dissecting Mach‑O sections such as __objc_classlist and __swift5_types, and revealing how Swift classes store their metadata and VTables.

Dynamic InvocationMach-OObjective‑C
0 likes · 16 min read
Uncovering Swift’s Binary Layout: From Dynamic Calls to Mach‑O Class Structures
21CTO
21CTO
Dec 30, 2020 · Fundamentals

Which Programming Languages Might Vanish in the Next 20 Years?

The article analyzes five once‑popular programming languages—Ruby, Visual Basic, Haskell, Perl, and Objective‑C—explaining why their performance, ecosystem support, and community interest are declining and why they could disappear unless revitalized by strong developer investment.

HaskellObjective‑CRuby
0 likes · 7 min read
Which Programming Languages Might Vanish in the Next 20 Years?
Baidu App Technology
Baidu App Technology
Dec 30, 2020 · Mobile Development

Baidu App Objective-C/Swift Mixed Programming Practice: Component Module Integration and Binary Publishing

Continuing the Baidu App mixed‑language guide, this article explains how EasyBox‑generated component targets (frameworks and libraries) are organized into modules, configured for Objective‑C/Swift interoperability, unit‑tested, linked across components, and packaged as binaries using module maps, build settings, and lipo merging, while recommending frameworks for smoother distribution.

Binary PublishingComponent ArchitectureMixed Programming
0 likes · 15 min read
Baidu App Objective-C/Swift Mixed Programming Practice: Component Module Integration and Binary Publishing
GrowingIO Tech Team
GrowingIO Tech Team
Nov 26, 2020 · Mobile Development

Mastering iOS AOP: From Method Swizzling to Fishhook and Beyond

This article explains the fundamentals of Aspect‑Oriented Programming on iOS, compares major AOP techniques such as Method Swizzle, Aspects, MPSwizzler, ISA‑swizzle KVO, Fishhook, Thunk and Clang instrumentation, and provides practical code examples and best‑practice guidelines.

Method SwizzlingMobile DevelopmentObjective‑C
0 likes · 21 min read
Mastering iOS AOP: From Method Swizzling to Fishhook and Beyond
Beike Product & Technology
Beike Product & Technology
Oct 24, 2020 · Mobile Development

Understanding Tagged Pointers in iOS: Memory Savings and Performance Boosts

This article explains the Tagged Pointer mechanism introduced in iOS 64‑bit environments, detailing how it reduces memory usage, speeds up object creation and method dispatch, and describing the underlying tag‑plus‑data representation, class registration, and pointer generation with code examples.

Memory OptimizationObjective‑CTagged Pointer
0 likes · 22 min read
Understanding Tagged Pointers in iOS: Memory Savings and Performance Boosts
JD Retail Technology
JD Retail Technology
Oct 20, 2020 · Fundamentals

Understanding the Object Creation Process in Objective‑C

This article explains how Objective‑C creates objects by detailing the two creation methods, the internal alloc and init implementations, the callAlloc workflow, memory allocation, and the final binding of the isa pointer, with full source code excerpts for each step.

Object CreationObjective‑CRuntime
0 likes · 11 min read
Understanding the Object Creation Process in Objective‑C
NetEase Cloud Music Tech Team
NetEase Cloud Music Tech Team
Oct 14, 2020 · Mobile Development

Understanding UIButton Control States and Custom State Extensions in iOS

The article explains UIButton’s built‑in UIControlState bitmask, shows how to set titles and colors for normal, highlighted, disabled and selected states, demonstrates combining states, and details creating custom application‑specific states (e.g., follow, mutual, loading) by extending the state enum and overriding state‑related methods.

ControlStateCustomStateObjective‑C
0 likes · 9 min read
Understanding UIButton Control States and Custom State Extensions in iOS
JD Retail Technology
JD Retail Technology
Sep 28, 2020 · Mobile Development

Comprehensive Analysis of Swift vs Objective‑C: Adoption, Performance, Compiler Optimizations and Ecosystem Impact

This article presents a detailed comparison between Swift and Objective‑C, covering language popularity, community activity, real‑world app adoption, performance benchmarks, Swift's advantages and disadvantages, ABI and module stability, Apple’s strategic support, binary size effects, and deep compiler optimizations such as SIL, inlining, generic specialization, and dispatch mechanisms.

Objective‑CSwiftcompiler
0 likes · 25 min read
Comprehensive Analysis of Swift vs Objective‑C: Adoption, Performance, Compiler Optimizations and Ecosystem Impact
Wukong Talks Architecture
Wukong Talks Architecture
Jul 21, 2020 · Mobile Development

iOS Development Tutorial: Creating a Demo Project, Implementing Views, Buttons, and Images with Swift and Comparing to Objective‑C

This tutorial walks through setting up an iOS demo project in Xcode, creating a yellow rectangle view, adding a clickable button and a centered image using Swift code, and then compares the Swift syntax with equivalent Objective‑C snippets, while also covering useful comment tags.

Mobile DevelopmentObjective‑CSwift
0 likes · 6 min read
iOS Development Tutorial: Creating a Demo Project, Implementing Views, Buttons, and Images with Swift and Comparing to Objective‑C
Sohu Tech Products
Sohu Tech Products
Jul 8, 2020 · Mobile Development

Comprehensive Guide to Using WKWebView in iOS: Creation, Delegates, UserAgent, Cookies, and JS Interaction

This article provides a detailed tutorial on WKWebView for iOS, covering its creation, configuration, delegate methods, custom UserAgent registration, cookie management, native‑H5 communication, JavaScript bridges, and NSURLRequest caching strategies, offering practical code examples and best‑practice tips.

Cookie ManagementJavaScript BridgeMobile Development
0 likes · 14 min read
Comprehensive Guide to Using WKWebView in iOS: Creation, Delegates, UserAgent, Cookies, and JS Interaction
JD Retail Technology
JD Retail Technology
Jun 23, 2020 · Mobile Development

Understanding and Implementing Key-Value Observing (KVO) in iOS

This article explains what Key-Value Observing (KVO) is, how to use it in iOS development, and the runtime mechanisms—such as isa‑swizzling and dynamic subclass creation—that enable automatic property change notifications, while also showing how to build a custom KVO system.

KVOMobile DevelopmentObjective‑C
0 likes · 7 min read
Understanding and Implementing Key-Value Observing (KVO) in iOS
Sohu Tech Products
Sohu Tech Products
Jun 3, 2020 · Mobile Development

Understanding Variadic Function Hooking and Stack Context Pollution with TrampolineHook

This article explains why adding parameter‑reading code to a variadic‑function hook causes a deterministic crash due to stack context pollution, analyzes the calling‑stack layout and register usage with ARM64 assembly, and presents a heap‑based context‑saving solution using TrampolineHook to safely intercept variadic methods on iOS.

AssemblyHookingObjective‑C
0 likes · 12 min read
Understanding Variadic Function Hooking and Stack Context Pollution with TrampolineHook
JD Retail Technology
JD Retail Technology
May 21, 2020 · Mobile Development

Understanding the Sunglasses Crash Investigation Tool and Objective‑C Runtime Mechanisms

This article introduces the Sunglasses crash investigation tool, explains iOS Objective‑C runtime message handling—including method lookup, dynamic resolution, and forwarding—details method swizzling implementation with code examples, and discusses class clusters and future enhancements for mobile development debugging.

Crash HandlingMethod SwizzlingMobile Development
0 likes · 14 min read
Understanding the Sunglasses Crash Investigation Tool and Objective‑C Runtime Mechanisms
Ctrip Technology
Ctrip Technology
May 21, 2020 · Mobile Development

Integrating Swift into an Existing Objective‑C iOS App: Challenges, Solutions, and Best Practices

This article details Ctrip's experience of adopting Swift for iOS development, covering the language's evolution, statistical adoption, static‑library integration, ObjC‑Swift mixed compilation, module stability with swiftinterface files, CI pipeline adjustments, and strategies for seamless ObjC‑Swift interoperation.

App ThinningCI integrationModule stability
0 likes · 18 min read
Integrating Swift into an Existing Objective‑C iOS App: Challenges, Solutions, and Best Practices
Youku Technology
Youku Technology
May 8, 2020 · Mobile Development

Migrating Objective‑C to Swift: Benefits, Practices, and a Practical Guide

With Swift 5’s stable ABI shrinking app bundles, developers can migrate Objective‑C code top‑down—starting at UI layers—to leverage Swift’s safety‑focused optionals, value‑type structs, powerful enums, functional and protocol‑oriented paradigms, while handling interoperability via @objc and dynamic, ultimately future‑proofing apps for SwiftUI, cross‑platform frameworks, and continued iOS/macOS relevance.

InteropObjective‑CSwift
0 likes · 13 min read
Migrating Objective‑C to Swift: Benefits, Practices, and a Practical Guide
Amap Tech
Amap Tech
Apr 15, 2020 · Mobile Development

Comprehensive Guide to iOS App Startup Optimization and Multi‑Dimensional Performance Analysis

The guide details how Gaode Map’s iOS app cut cold‑start time by over 65% to sub‑400 ms through systematic analysis of launch phases, Mach‑O loading, multi‑dimensional runtime metrics, automated static source parsing, and visual trace tooling, demonstrating a repeatable method for sustained launch‑time optimization.

Objective‑CiOStool development
0 likes · 26 min read
Comprehensive Guide to iOS App Startup Optimization and Multi‑Dimensional Performance Analysis
360 Tech Engineering
360 Tech Engineering
Mar 19, 2020 · Mobile Development

Using iconFont for iOS App Icon Replacement: A Step‑by‑Step Guide

This article explains how to replace image‑based icons in iOS apps with vector icon fonts from Alibaba's iconFont service, covering selection, download, integration of the TTF file, Swift and Objective‑C usage examples, and common pitfalls such as font conflicts and licensing.

Mobile DevelopmentObjective‑CSwift
0 likes · 4 min read
Using iconFont for iOS App Icon Replacement: A Step‑by‑Step Guide
JD Retail Technology
JD Retail Technology
Mar 17, 2020 · Mobile Development

How JD’s Dark Mode Component Brings Night‑Mode to iOS 9+ Apps

This article explains how JD’s dark‑mode foundation component enables iOS 9+ apps to support system and manual dark mode, detailing its architecture, integration steps, custom updaters, window‑level overrides, snapshot handling, and lessons learned for reliable night‑mode implementation.

Dark ModeMobile DevelopmentObjective‑C
0 likes · 11 min read
How JD’s Dark Mode Component Brings Night‑Mode to iOS 9+ Apps
Amap Tech
Amap Tech
Feb 27, 2020 · Mobile Development

Common Misunderstandings and Pitfalls in iOS Development – Foundation, UIKit, GCD and Best Practices

The article clarifies frequent iOS development misconceptions—from unnecessary observer removal and deprecated NSUserDefaults synchronization to block retain‑cycle tricks, responder‑chain versus hit‑testing differences, GCD queue optimizations, safe main‑queue detection, and proper cancellation of dispatch blocks—offering practical code guidance.

GCDMemory ManagementObjective‑C
0 likes · 17 min read
Common Misunderstandings and Pitfalls in iOS Development – Foundation, UIKit, GCD and Best Practices
Youzan Coder
Youzan Coder
Feb 26, 2020 · Mobile Development

Mixing Swift and Objective‑C in iOS Projects: Module System, CocoaPods, and Best Practices

The article explains how, with Swift 5.1’s ABI stability, teams can combine Swift and Objective‑C in iOS apps by preferring CocoaPods‑based modular development over bridging headers, detailing the LLVM module system, modulemap setup, namespace and linking issues, and best‑practice steps for a smooth migration.

CocoaPodsMixed CompilationObjective‑C
0 likes · 12 min read
Mixing Swift and Objective‑C in iOS Projects: Module System, CocoaPods, and Best Practices
NetEase Game Operations Platform
NetEase Game Operations Platform
Jan 18, 2020 · Mobile Development

Understanding iOS Push Notifications: Remote and Local Push, History, and Implementation Details

This article provides a comprehensive overview of iOS push notification mechanisms, covering remote and local push differences, device token acquisition across iOS versions, silent push constraints, scheduling nuances, and the evolution of notification APIs from iOS 7 to iOS 13, with practical code examples.

APNSObjective‑CPush Notification
0 likes · 17 min read
Understanding iOS Push Notifications: Remote and Local Push, History, and Implementation Details
Sohu Tech Products
Sohu Tech Products
Jan 15, 2020 · Mobile Development

Understanding Swift Thunk Functions and SIL: Why UITableViewDelegate Methods May Not Be Invoked

This article examines a real iOS project case where a UITableView delegate method does not fire, explores Swift Intermediate Language (SIL) and thunk functions, explains the role of @objc and dynamic dispatch, and demonstrates how generic base classes affect Objective‑C visibility of delegate methods.

Message DispatchObjective‑CSIL
0 likes · 16 min read
Understanding Swift Thunk Functions and SIL: Why UITableViewDelegate Methods May Not Be Invoked
Sohu Tech Products
Sohu Tech Products
Jan 15, 2020 · Mobile Development

Using Xcode Canvas to Preview Objective‑C UI with SwiftUI Previews

This article explains how to enable Xcode Canvas previews for legacy Objective‑C views by leveraging SwiftUI's PreviewProvider, detailing the required project settings, bridging‑header configuration, code examples, and troubleshooting steps for integrating preview support into large iOS codebases.

CanvasMobile DevelopmentObjective‑C
0 likes · 17 min read
Using Xcode Canvas to Preview Objective‑C UI with SwiftUI Previews
360 Tech Engineering
360 Tech Engineering
Jan 13, 2020 · Mobile Development

iOS App Background Execution Techniques and Implementation Guide

This article explains the various iOS app background execution states, short‑term background tasks, long‑term keep‑alive methods such as silent audio, continuous location, background downloads, and BGTaskScheduler, and provides Objective‑C code examples and configuration steps for developers.

BGTaskSchedulerMobile DevelopmentObjective‑C
0 likes · 12 min read
iOS App Background Execution Techniques and Implementation Guide
Sohu Tech Products
Sohu Tech Products
Dec 18, 2019 · Mobile Development

Understanding Objective‑C Object Memory Layout and Alignment

This article explores how Objective‑C objects are converted to low‑level C/C++ structures, compares the results of class_getInstanceSize, malloc_size and sizeof, and explains memory‑alignment rules, member ordering, padding, and inheritance effects on the actual memory footprint of iOS objects.

Objective‑CRuntimeiOS
0 likes · 22 min read
Understanding Objective‑C Object Memory Layout and Alignment
Huajiao Technology
Huajiao Technology
Nov 19, 2019 · Mobile Development

Implementing Multi‑Camera Capture on iOS with AVCaptureMultiCamSession

This article explains how to implement dual‑camera capture on iOS 13+ using AVCaptureMultiCamSession, covering device limits, session configuration, code examples for camera setup, resolution adjustment, audio handling, system‑pressure monitoring, and performance tips for outdoor live streaming.

AVCaptureMobile DevelopmentMulti-Camera
0 likes · 10 min read
Implementing Multi‑Camera Capture on iOS with AVCaptureMultiCamSession
Sohu Tech Products
Sohu Tech Products
Sep 11, 2019 · Mobile Development

Understanding and Reimplementing Apple's Main Thread Checker on iOS

This article explores Apple's libMainThreadChecker.dylib implementation, details its environment variables and swizzling logic, demonstrates how to replicate its functionality by enumerating UIKit classes and hooking methods, and discusses pitfalls of full‑method hooking and a bridge‑based solution for reliable runtime monitoring.

Main Thread CheckerMethod SwizzlingObjective‑C
0 likes · 15 min read
Understanding and Reimplementing Apple's Main Thread Checker on iOS