Tagged articles
25 articles
Page 1 of 1
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.

CocoaPodsCode RefactoringLinkMap
0 likes · 19 min read
iOS Bundle Size Optimization: Mach‑O Analysis and CocoaPods Integration
Sohu Tech Products
Sohu Tech Products
Mar 27, 2024 · Mobile Development

How to Convert Intel macOS Libraries to arm64 for Apple Silicon Simulators

This guide explains why Intel‑based macOS libraries need architecture conversion for Apple Silicon simulators, compares XCFramework and Rosetta solutions, and provides a step‑by‑step method using lipo, ar, and custom Swift code to replace load commands and rebuild arm64 binaries for simulator use.

ARM64BinaryMach-O
0 likes · 9 min read
How to Convert Intel macOS Libraries to arm64 for Apple Silicon Simulators
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 FormatClangMach-O
0 likes · 10 min read
Understanding Mach-O: Structure, Definitions, and Practical Applications
Baidu Geek Talk
Baidu Geek Talk
Jul 17, 2023 · Mobile Development

How to Shrink Your iOS App: Mastering Link Map Analysis and Code Optimization

This article explains how to analyze Link Map files and apply code‑level optimizations—such as removing unused classes, modules, methods, duplicate code, and AB‑test branches—to significantly reduce the binary size of Baidu’s iOS app, providing scripts, commands, and practical tips for each step.

Code OptimizationLink MapMach-O
0 likes · 18 min read
How to Shrink Your iOS App: Mastering Link Map Analysis and Code Optimization
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.

Mach-OResource Optimizationbinary analysis
0 likes · 18 min read
Mach-O File Analysis and Resource Optimization for Baidu iOS App
Huolala Tech
Huolala Tech
Oct 18, 2022 · Mobile Development

How HuoLala Shrunk Its iOS App: Proven Strategies to Cut Package Size

This article details HuoLala's comprehensive iOS app slimming process—covering background metrics, Apple size limits, App Thinning, compiler and resource optimizations, Mach‑O analysis, framework handling, coding guidelines, and CI safeguards—to help developers reduce installation size, improve launch speed, and boost user conversion rates.

App ThinningMach-OResource Compression
0 likes · 24 min read
How HuoLala Shrunk Its iOS App: Proven Strategies to Cut Package Size
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 scanningMach-Obinary analysis
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.

AssemblyMach-Obinary analysis
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.

BINDMach-Odynamic linking
0 likes · 31 min read
Understanding Fixup Chain: Apple’s New Dynamic Linking Technique in iOS 15
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.

Asset CatalogBinary CompressionMach-O
0 likes · 14 min read
iOS App Package Size Optimization: Strategies and Practices at ByteDance
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
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.

Dynamic InvocationMach-ORuntime
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-OPackage Size
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
Meituan Technology Team
Meituan Technology Team
Aug 8, 2019 · Mobile Development

What is the zsource Command? Development, Implementation and Usage in Meituan’s iOS App

Meituan’s iOS team introduced the CocoaPods sub‑command zsource, which extracts source‑file paths embedded in binary components’ DWARF data and automatically fetches the corresponding code, letting developers instantly replace a binary with its source for fast, source‑level debugging without rebuilding the whole project.

Binary DebuggingCocoaPodsComponentization
0 likes · 11 min read
What is the zsource Command? Development, Implementation and Usage in Meituan’s iOS App
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.

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