Company
Date Published
Author
Guest Post
Word count
3277
Language
English
Hacker News points
None

Summary

iOS testing is a complex process due to the proprietary nature of the platform and the lack of publicly available documentation. A jailbroken iOS device with the necessary tools, including Cydia and OpenSSH, is required for testing. The XNU kernel, which is based on FreeBSD and OSFMK, provides a familiar environment for developers with *NIX experience. However, this familiarity comes at the cost of complexity, and many parts of the system are not open source. iOS testing involves understanding the system paths, including the App Store application directory, data directories, and shared data directories. The process also requires knowledge of iPhone application packages (IPAs) and app bundles, as well as decryption techniques using tools like frida-ios-dump. SSL pinning is a common roadblock in iOS testing, but it can be defeated using tools like ssl-kill-switch2. Syslog checking and binary analysis are also crucial aspects of iOS testing, with IDA Pro being the recommended tool for reverse engineering iOS apps. The guide provides a basic understanding of iOS testing and creates a working test environment, but readers are advised to dive deeper into the platform and its many complexities.