SpringBoard Analysis Using AppleTrace

Previous “Preliminary Exploration of LaunchScreen” used IDA and lldb to explore part of SpringBoard. This article uses AppleTrace to preliminarily explore SpringBoard. AppleTrace currently uses HookZz to inline hook objc_msgSend. Can be used to analyze each Objective C method’s time consumption, and call relationships. ...
appletrace, tracing, performance, iOS, and tools

USB Keyboard Input Method for iOS

USB Keyboard originally named QVKeyboard, renamed perhaps to make easier to record and search USB Keyboard is an input method app, after connecting iPhone to Mac via USB, can type on Mac end, input on iPhone. ...
iOS, development, and mobile

LRU Cache (LRUCache) in MMKV

LRU (Least recently used) is a cache update strategy, that is when cache count reaches maximum capacity, or some condition, remove least recently used elements. WeChat recently open-sourced a client Key-Value storage library MMKV https://github.com/Tencent/MMKV , which implements such a very streamlined LRU cache (LRUCache class). ...
tutorial, learning, guide, development, and tools

LaunchScreen Analysis

tl;dr After clicking App icon, iOS system’s desktop SpringBoard will first create LaunchScreen, then create App’s corresponding process. Then can think: LaunchScreen’s loading doesn’t occupy App process’s own perceived startup time. LaunchScreen is SpringBoard showing to users in advance before process startup for user experience. Of course strictly speaking, LaunchScreen’s loading occupies system CPU and other resources, also has certain impact on App’s startup time. ...
performance, launch, optimization, iOS, and startup

FastImageCache Principles

FastImageCache is a library that uses space for time to accelerate image loading/rendering. Official (https://github.com/path/FastImageCache) README explains principles in detail. This article combines source code to review most core parts again. ...
tutorial, learning, guide, development, and tools

Close System Dictionary Interface in iOS

Apps in iOS also have multi-process architecture, and started from iOS6, just Apple has been using it themselves. Need Source Day after iBooksLookUpCloser published to bigboss, a foreign friend sent email, asked me to look at this reddit question from a month ago https://www.reddit.com/r/jailbreak/comments/95vjgd/request_please_some_one_fulfill_this_request_pull/?st=JLMLKHHM&sh=093359ff . About iBooksLookUpCloser reference previous article https://everettjf.github.io/2018/09/03/ibooks-dictionary-close-tweak/ . ...
iOS, development, and mobile

iBooks Dictionary Interface Close Button

Subway time always use iBooks to read e-books, too many unknown words, also like using iBooks’ built-in long press word click Look Up (query) button to look up words. Also because used to holding phone with left hand, right hand holding subway handle… After looking up word, close button is at top right. This article simply explains how to add a “Done” button at bottom left. As below: So I look up words more frequently. ...
tutorial, learning, guide, development, and tools

mmap Introduction

mmap is essential tool for performance optimization, this article simply lists related information. ...
mmap, optimization, IO, memory, and performance

iOS 11.3.1 Jailbreak Steps

Reverse engineering can let us understand system principles more deeply, can also let us peek at interesting Apps, very fun, may also be very evil. Currently (August 30, 2018) latest jailbreakable iOS version ordinary people can access is iOS11.3.1, can see at https://canijailbreak.com/, this article simply explains iOS11.3.1 jailbreak steps, pave way for future reverse engineering work for performance optimization purposes. ...
iOS, development, and mobile

Startup Task Classification

An “old” App, work to do during startup continuously accumulates, code in didFinishLaunchingWithOptions gets longer and longer, AppDelegate.m file’s line count also increases. Then it’s time to classify and store. ...
tutorial, learning, guide, development, and tools
Archive ; Tags ; Product ; GitHub ; About ;