Tag

iOS Development

1 views collected around this technical thread.

Sohu Tech Products
Sohu Tech Products
Jan 22, 2025 · Mobile Development

A Comprehensive Guide to Swift Macros and SwiftSyntax Implementation

This guide explains Swift 5.9 macros—both attached and freestanding—detailing how the compiler expands them using SwiftSyntax’s AST manipulation, walks through creating and declaring macros, and demonstrates a PeerMacro that automatically generates async counterparts for completion‑handler functions, reducing boilerplate and improving code clarity.

CompilerMacro ExpansionSwift 5.9
0 likes · 29 min read
A Comprehensive Guide to Swift Macros and SwiftSyntax Implementation
Baidu App Technology
Baidu App Technology
Dec 25, 2024 · Mobile Development

iOS Disk Management and Cleanup Strategies for App Development

The article offers a comprehensive guide to iOS disk management for app developers, explaining the sandbox’s Documents, Library (Caches and Application Support) and tmp directories, proper storage practices, APIs for directory access, disk‑size calculation, iCloud backup exclusion, and both automatic and manual cleanup strategies including system cache handling.

Cache CleanupDisk ManagementMobile Development
0 likes · 22 min read
iOS Disk Management and Cleanup Strategies for App Development
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
Baidu Geek Talk
Baidu Geek Talk
Dec 4, 2023 · Mobile Development

Compiler Optimization

The article details Baidu APP’s comprehensive compiler‑optimization strategy, including GCC‑Oz size reduction, Swift‑Osize with whole‑module optimization, link‑time optimization, symbol stripping, dead‑code removal, asset catalog compression, minimizing C++ virtual functions, slimming third‑party SDKs, dropping unused ARM architectures, Xcode 14 binary‑size tweaks, and eliminating built‑in Swift libraries by raising the minimum iOS version.

Compiler OptimizationLTOPerformance Tuning
0 likes · 16 min read
Compiler Optimization
Sohu Tech Products
Sohu Tech Products
Nov 22, 2023 · Mobile Development

Implementing Audio Charts in SwiftUI for iOS Accessibility

This tutorial shows how to create a SwiftUI bar chart, define a DataPoint model, and enhance its accessibility by conforming to AXChartDescriptorRepresentable and applying the accessibilityChartDescriptor modifier, enabling iOS 15’s Audio Charts feature that conveys chart values through pitch‑varying VoiceOver tones.

AXChartDescriptorAudio ChartsMobile Development
0 likes · 9 min read
Implementing Audio Charts in SwiftUI for iOS Accessibility
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.

Data ChannelObjective-CPython
0 likes · 11 min read
Automated OC Code Refactoring Practice (Part 3): Data Item Read/Write Class Encapsulation and Call Site Adaptation
Sohu Tech Products
Sohu Tech Products
Sep 6, 2023 · Mobile Development

Building an iOS SMS Spam Filter App with CoreML

This tutorial walks through creating a custom iOS SMS spam filter app, covering extraction of personal SMS data from an iPhone backup, training a CoreML text‑classification model with CreateML, implementing a Message Filter Extension in Xcode, and exploring advanced update strategies.

App ExtensionCoreMLSMS filtering
0 likes · 12 min read
Building an iOS SMS Spam Filter App with CoreML
DeWu Technology
DeWu Technology
May 29, 2023 · Mobile Development

iOS WebView Crash Analysis and Solution

The article investigates a rapid increase in WebView crashes on iOS 4.9.x caused by a UIScrollView animation accessing a released object after an H5 page is dismissed, discovers the offending WKChildScrollView delegate (WKScrollingNodeScrollViewDelegate), and resolves the issue by nullifying that delegate in the view’s deallocation, supplementing earlier gesture‑disable workarounds.

Technical SolutionWebKitWebView
0 likes · 16 min read
iOS WebView Crash Analysis and Solution
Tencent Cloud Developer
Tencent Cloud Developer
Feb 20, 2023 · Mobile Development

iOS WeChat Full-Text Search Technology Upgrade: Selection and Optimization

iOS WeChat’s full‑text search was upgraded by selecting SQLite FTS5, creating a VerbatimTokenizer with multi‑level delimiter support, optimizing table formats to cut index size by 30 %, improving batch index updates and parallel search logic, resulting in 40‑60 % faster query latency.

Database OptimizationFull-Text SearchIndex Optimization
0 likes · 26 min read
iOS WeChat Full-Text Search Technology Upgrade: Selection and Optimization
Tencent Cloud Developer
Tencent Cloud Developer
Jan 18, 2023 · Mobile Development

Enterprise WeChat iOS Architecture Transformation: Componentization and Plugin Integration Practices

To overcome massive build times, bloated Xcode projects, and tight coupling in its 8‑million‑line iOS codebase, Enterprise WeChat re‑architected the app into four layered, C++‑based common layers and Objective‑C UI components, introducing a Component Management Center, AST‑driven dependency analysis, and a plugin‑friendly shell framework for modular feature integration.

Architecture DesignClang ASTEnterprise WeChat
0 likes · 17 min read
Enterprise WeChat iOS Architecture Transformation: Componentization and Plugin Integration Practices
ByteFE
ByteFE
Jul 25, 2022 · Mobile Development

MemoryThrashing: A Solution for Live Streaming Memory OOM Issues

MemoryThrashing is a self-developed tool designed to detect and analyze memory thrashing issues in live streaming applications, addressing the challenges of OOM problems by providing efficient memory growth monitoring and analysis capabilities.

Memory ManagementMobile DevelopmentOOM detection
0 likes · 10 min read
MemoryThrashing: A Solution for Live Streaming Memory OOM Issues
Snowball Engineer Team
Snowball Engineer Team
Mar 22, 2022 · Mobile Development

Optimizing iOS UI Smoothness: Hitch Detection and Performance Tuning for Feed and Article Pages

This article details practical strategies for improving iOS app UI smoothness by defining and measuring frame hitches, utilizing profiling tools like Instruments and flame graphs, and implementing targeted optimizations for rich text rendering, constraint layouts, and view management to significantly reduce hitch ratios.

Auto LayoutFrame HitchesInstruments Profiling
0 likes · 11 min read
Optimizing iOS UI Smoothness: Hitch Detection and Performance Tuning for Feed and Article Pages
Baidu Geek Talk
Baidu Geek Talk
Nov 22, 2021 · Frontend Development

How to Debug WebKit Source Code: A Comprehensive Guide

This guide walks developers through downloading, compiling, and debugging WebKit’s complex source code—covering repository setup, Xcode and command‑line builds, creating debug projects, understanding the multi‑process architecture, and practical tips such as using TestWebKitAPI for effective analysis.

Frontend DevelopmentMulti‑process ArchitectureWKWebView
0 likes · 11 min read
How to Debug WebKit Source Code: A Comprehensive Guide
Byte Quality Assurance Team
Byte Quality Assurance Team
Jul 21, 2021 · Backend Development

Analysis of Video Playback Failure in ByteDance iOS Client Cache

A bug in ByteDance's iOS client caused 1080p videos to become unplayable after 1 hour 53 minutes due to a downloader component truncating files beyond the int type limit, which was resolved by upgrading to a longlong type.

Bug Analysisbackend componentdownloader issue
0 likes · 4 min read
Analysis of Video Playback Failure in ByteDance iOS Client Cache
ByteDance Terminal Technology
ByteDance Terminal Technology
Jun 1, 2021 · Frontend Development

Background and Problem Localization

The article discusses identifying and resolving ImageIO-related crash issues in iOS applications, particularly those occurring after iOS 14 updates, by analyzing crash logs and system behavior.

APMcrash analysisdebugging
0 likes · 6 min read
Background and Problem Localization
360 Smart Cloud
360 Smart Cloud
Feb 9, 2021 · Mobile Development

Fix Xcode 10 Simulator Launch Issue on macOS Mojave by Reinstalling Plug‑Ins

This guide explains how to resolve the Xcode 10 simulator launch failure on macOS Mojave by backing up, removing, and restoring the Xcode Plug‑Ins folder, along with additional steps such as editing scheme settings and resetting the simulator, providing detailed screenshots and code snippets.

Plug‑InsSimulatorTroubleshooting
0 likes · 4 min read
Fix Xcode 10 Simulator Launch Issue on macOS Mojave by Reinstalling Plug‑Ins
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 DistributionModule StabilityObjective-C
0 likes · 17 min read
Baidu App Objective-C/Swift Mixed Programming Practice - Component Transformation and Interoperability
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 PublishingMixed ProgrammingObjective-C
0 likes · 15 min read
Baidu App Objective-C/Swift Mixed Programming Practice: Component Module Integration and Binary Publishing
NetEase Cloud Music Tech Team
NetEase Cloud Music Tech Team
Oct 26, 2020 · Mobile Development

iOS Widget Development Practice with WidgetKit: A Comprehensive Guide

This guide walks through iOS widget development with WidgetKit, covering timeline mechanics, SwiftUI‑only UI building, network and image handling, reload policies, deep‑link clicks, Intent‑based configuration, and the benefits and constraints experienced by NetEase Cloud Music’s frontend team.

App ExtensionIntents FrameworkMobile Widget
0 likes · 22 min read
iOS Widget Development Practice with WidgetKit: A Comprehensive Guide
Youzan Coder
Youzan Coder
Jun 10, 2020 · Mobile Development

Building a Declarative UI Framework for UIKit in Swift

The article presents a Swift‑based declarative UI framework for UIKit that replaces AutoLayout with a flexible, CSS‑like style system, reactive state handling, and extensible layout nodes, enabling cleaner code, efficient animated lists, and improved development speed while planning future optimizations such as dirty‑checking and virtual layouts.

Declarative UIReactive ProgrammingSwift
0 likes · 11 min read
Building a Declarative UI Framework for UIKit in Swift