directory

  • Self-cultivation for iOS Programmers – Introduction (Zero)
  • Self-cultivation for iOS Programmers – Compile, Link process (Part 1)
  • IOS Programmer self-cultivation -MachO File Structure Analysis (II)
  • IOS Programmer self-cultivation -MachO file Static link (3)
  • IOS Programmer self-cultivation -MachO file dynamic link (4)
  • Self-cultivation for iOS Programmers — The Fishhook Principle (part 5)

Reasons for writing this series of blogs

We iOS developers, for the most part, do business development. At ordinary times, I may have little knowledge about compiling links, but I think that compiling links is also very important for an ordinary programmer.

For example, if there are any errors in the build process with Xcode, we can choose to analyze the problems at the principle level instead of relying on continuous debugging to solve them. The Fishhook open source library is well known. Many people have used it, but most people don’t know how it works or have tried to read the code. The Source code for Fishhook is really simple if you know the Mach-O file format, static linking, and dynamic linking.

Why it’s called “Self-Cultivation for iOS Programmers”

For link compilation, there is a book called Programmer Self-Cultivation: Linking, Loading, and Libraries (I recommend it, it’s very well written), but it’s based on ELF for Linux. I read the book by myself, digest and understand. I wrote this series of blog posts based on a little bit of knowledge about compiling links, which is based on the iOS executable file Mach-O. (Think of writing about these 5 topics for a while, and may write about other topics in the future.)

So I took credit for this book and called it “Self-Cultivation for iOS Programmers.”