Tag

Mach-O

1 views collected around this technical thread.

DeWu Technology
DeWu Technology
Jun 5, 2024 · Mobile Development

iOS Bundle Size Optimization: Mach‑O Analysis and CocoaPods Integration

The article demonstrates how detailed Mach‑O and LinkMap analysis combined with custom CocoaPods hooks, Swift‑syntax refactoring, and indexed symbol mapping can systematically shrink an iOS app’s bundle—from 289.3 MB to 259.3 MB—while cutting CI build time and simplifying debugging.

CocoaPodsMach-Obundle optimization
0 likes · 19 min read
iOS Bundle Size Optimization: Mach‑O Analysis and CocoaPods Integration
Sohu Tech Products
Sohu Tech Products
Jan 31, 2024 · Fundamentals

Understanding Mach-O: Structure, Definitions, and Practical Applications

Mach‑O is the macOS and iOS binary format whose header, load commands, and __TEXT/__DATA sections define executable, library, and symbol information, enabling developers to understand loading, linking, and startup performance, and to implement custom initialization hooks or modular launch tasks via custom data sections.

Binary FormatMach-OStartup Performance
0 likes · 10 min read
Understanding Mach-O: Structure, Definitions, and Practical Applications
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
Jun 5, 2023 · Mobile Development

Mach-O File Analysis and Resource Optimization for Baidu iOS App

The article explains how Baidu’s iOS app reduces package size by examining Mach‑O binaries with tools like otool and MachOView, then applying Python scripts to locate oversized assets, eliminate unused configuration files, and deduplicate resources, achieving a 12 MB reduction and a repeatable optimization pipeline.

Binary AnalysisMach-OiOS
0 likes · 18 min read
Mach-O File Analysis and Resource Optimization for Baidu iOS App
58 Tech
58 Tech
Jan 5, 2023 · Mobile Development

iOS App Package Size Optimization: Detecting Unused Code, Resources, and Binary Optimizations

This article presents practical methods for reducing iOS app bundle size by detecting and removing unused Objective‑C/Swift classes, redundant resources, and applying binary optimizations such as segment migration and link‑time optimization, illustrated with real‑world experience from 58.com.

App Size OptimizationMach-OSwift
0 likes · 23 min read
iOS App Package Size Optimization: Detecting Unused Code, Resources, and Binary Optimizations
HomeTech
HomeTech
Aug 11, 2022 · Fundamentals

Mach-O File Format: Dynamic and Static Library Attribution and API Scanning Solutions

This article introduces the Mach-O executable format, explains how its structure can be leveraged to attribute dynamic and static libraries at runtime and during build, and presents two practical projects—library attribution and fast API scanning—complete with implementation details and code snippets.

API scanningBinary AnalysisMach-O
0 likes · 15 min read
Mach-O File Format: Dynamic and Static Library Attribution and API Scanning Solutions
58 Tech
58 Tech
Jul 7, 2022 · Mobile Development

WBBlades3.0 – A Mobile Development Tool for Unused Code Detection, Package Size Analysis, and Crash Log Parsing

WBBlades3.0 is a visualized iOS development toolkit that offers unused class detection for Objective‑C and Swift, fast package‑size analysis of static libraries, point‑to‑point crash‑log parsing with symbol restoration, and static‑library dependency inspection, all designed to improve developer efficiency.

Mach-Ocrash log parsingiOS
0 likes · 7 min read
WBBlades3.0 – A Mobile Development Tool for Unused Code Detection, Package Size Analysis, and Crash Log Parsing
ByteDance Terminal Technology
ByteDance Terminal Technology
May 11, 2022 · Fundamentals

Common Misconceptions in iOS15 Dynamic Linking and Mach‑O Fixup Chains

This article clarifies three frequent misunderstandings about iOS15+ dynamic linking—namely the encoding of b/bl instructions, the need for rebase/bind in __TEXT segments, and the mismatch between Mach‑O segment VM size and file size—by explaining the underlying ARM64 architecture, PIC concepts, and providing concrete dyld tool examples.

Binary AnalysisDynamic LinkingMach-O
0 likes · 11 min read
Common Misconceptions in iOS15 Dynamic Linking and Mach‑O Fixup Chains
ByteDance Terminal Technology
ByteDance Terminal Technology
Mar 15, 2022 · Mobile Development

Understanding Fixup Chain: Apple’s New Dynamic Linking Technique in iOS 15

Fixup chain, introduced in iOS 15, replaces the previous compressed‑byte‑stream rebase/bind format with a linked‑list style structure that stores dynamic‑link information more compactly, improves space locality, reduces binary size, and speeds up app launch by allowing a single pass rebase and bind process.

BINDDynamic LinkingMach-O
0 likes · 31 min read
Understanding Fixup Chain: Apple’s New Dynamic Linking Technique in iOS 15
58 Tech
58 Tech
Oct 28, 2021 · Mobile Development

Detecting Unused Code in Mixed Swift and Objective‑C iOS Projects via Mach‑O Analysis

This article explains how to detect and remove unused code in mixed Swift and Objective‑C iOS applications by parsing Mach‑O files, analyzing class metadata, and leveraging AccessFunction calls, while discussing the challenges, implementation details of the WBBlades tool, and practical usage steps.

Binary AnalysisMach-OObjective-C
0 likes · 15 min read
Detecting Unused Code in Mixed Swift and Objective‑C iOS Projects via Mach‑O Analysis
JD Retail Technology
JD Retail Technology
Jul 14, 2021 · Fundamentals

Understanding Objective‑C Categories: Implementation, Load and Initialize Mechanisms

This article explains the internal structure of Objective‑C categories, how they are represented as structs in the runtime, the process by which the Mach‑O loader discovers and attaches them, and the distinct execution order of their +load and +initialize methods.

CategoryInitialize MethodLoad Method
0 likes · 17 min read
Understanding Objective‑C Categories: Implementation, Load and Initialize Mechanisms
Sohu Tech Products
Sohu Tech Products
Jul 7, 2021 · Mobile Development

Analyzing Mach-O Files with Otool to Identify Unused Classes and Methods in iOS Apps

This article explains how to use the otool command to parse Mach-O sections, extract __objc_classlist and __objc_classrefs, compute their differences, and locate unused Objective‑C classes and methods for iOS app size optimization, providing sample Objective‑C code and detailed implementation steps.

Binary AnalysisMach-Ocode optimization
0 likes · 22 min read
Analyzing Mach-O Files with Otool to Identify Unused Classes and Methods in iOS Apps
ByteFE
ByteFE
Mar 18, 2021 · Mobile Development

iOS App Package Size Optimization: Strategies and Practices at ByteDance

This article details ByteDance's iOS team approaches to reducing app package size—including resource compression, Assets.car merging, text file zipping, and Mach‑O binary optimizations such as -Oz, LTO, exported symbols, property dynamic handling, __TEXT segment migration, and binary segment compression—resulting in multi‑megabyte savings and improved download performance.

App Size OptimizationAsset CatalogBinary Compression
0 likes · 14 min read
iOS App Package Size Optimization: Strategies and Practices at ByteDance
Sohu Tech Products
Sohu Tech Products
Jan 13, 2021 · Mobile Development

Understanding Hook Techniques and Fishhook Implementation on iOS

This article explains the fundamentals of hooking on iOS, covering Method Swizzle and Facebook's fishhook, detailing the Mach‑O file structure, PIC technique, and providing complete source code examples that demonstrate how to replace system functions such as NSLog at runtime.

FishhookHookMach-O
0 likes · 22 min read
Understanding Hook Techniques and Fishhook Implementation on iOS
58 Tech
58 Tech
Jan 13, 2021 · Fundamentals

Exploring Swift Binary Structure and Dynamic Method Invocation in Mach-O

This article examines Swift's binary representation in Mach-O files, compares it with Objective‑C storage, demonstrates runtime dynamic method calls, and analyzes class metadata, VTable construction, and related flags to reveal how Swift functions are located and invoked at runtime.

Binary AnalysisDynamic InvocationMach-O
0 likes · 16 min read
Exploring Swift Binary Structure and Dynamic Method Invocation in Mach-O
58 Tech
58 Tech
Jun 1, 2020 · Mobile Development

Practice of Client Package Size Detection – Live Session Recap

The 58 client package size detection live series reviewed two open‑source tools—Zucker for Android modular size analysis and a Mach‑O‑based performance suite for iOS—explaining their principles, implementation, and how they enable non‑intrusive monitoring and optimization of app package sizes.

AndroidMach-OiOS
0 likes · 3 min read
Practice of Client Package Size Detection – Live Session Recap
58 Tech
58 Tech
Mar 18, 2020 · Mobile Development

WBBlades: An Open‑Source Mach‑O Analysis Toolkit for iOS App Size, Unused Class Detection, and Crash Log Symbolization

WBBlades is an open‑source iOS toolset that parses Mach‑O files to provide size analysis, high‑precision unused‑class detection, and crash‑log symbolization without requiring symbol tables, offering both a macOS GUI and command‑line interface for developers to optimize and debug their apps.

App Size AnalysisCrash SymbolizationMach-O
0 likes · 12 min read
WBBlades: An Open‑Source Mach‑O Analysis Toolkit for iOS App Size, Unused Class Detection, and Crash Log Symbolization
58 Tech
58 Tech
Nov 1, 2019 · Mobile Development

Component Size Analysis and Version Statistics for iOS Apps Using Linkmap and Static Library Inspection

This article describes how 58.com analyzes the code and resource size of each business component in its iOS app by parsing linkmap files and static libraries, builds version‑wise statistics, and compares component volume changes across releases to support efficient parallel development and app slimming.

Mach-OVersion Comparisonapp-size
0 likes · 22 min read
Component Size Analysis and Version Statistics for iOS Apps Using Linkmap and Static Library Inspection
Baidu Intelligent Testing
Baidu Intelligent Testing
Aug 10, 2017 · Mobile Development

iOS Crash Log Symbolication: Three Methods and dSYM File Analysis

This article explains why iOS crash logs are unreadable without symbolication, introduces three symbolication approaches—Xcode's symbolicatecrash, the atos/atosl tools, and dSYM‑based parsing—details the dSYM file structure, Mach‑O headers, load commands, data segments, and how to extract and demangle symbols for effective crash debugging.

Mach-Oatoslcrash
0 likes · 10 min read
iOS Crash Log Symbolication: Three Methods and dSYM File Analysis