Skip to main content
CF

Exploring UIKit Internals with Hopper Disassembler

32m 37s
English
Paid

Explore private UIKit APIs using the reverse engineering tool Hopper Disassembler and then use your advanced knowledge of UIKit's hidden secrets to your advantage in your own app.

About the Author: Kodeco

Kodeco thumbnail

Kodeco (formerly raywenderlich.com) is the long-running iOS, Android, and Unity tutorial publisher founded by Ray Wenderlich in 2010. The site rebranded to Kodeco in 2022 but is still associated with the original raywenderlich.com brand because that catalog anchored mobile-development education for over a decade.

The CourseFlix listing carries three Kodeco / raywenderlich courses: SwiftUI, Exploring UIKit Internals with Hopper Disassembler, and Learn to Launch Profitable Products in 30x500. Material is paid and aimed at iOS developers picking up SwiftUI or doing the deeper engineering work of reverse-engineering Apple's frameworks.

Watch Online 10 lessons

This is a demo lesson (10:00 remaining)

You can watch up to 10 minutes for free. Subscribe to unlock all 10 lessons in this course and access 10,000+ hours of premium content across all courses.

View Pricing
0:00
/
#1: Nest Navigation Controllers with Public API
All Course Lessons (10)
#Lesson TitleDurationAccess
1
Nest Navigation Controllers with Public API Demo
02:43
2
Disassemble UIKit Using Hopper
02:10
3
Look Inside UIKit
04:04
4
Relate Stack Trace to Implementation
03:11
5
Explore Baked-in Support for Nesting Navigation Controllers
02:25
6
Use KVC to Nest Navigation Controllers
02:20
7
Make UIKit Happy
04:47
8
Hide the Navigation Bar
04:51
9
Hide the Right Navigation Bar
02:52
10
Fix the Navigation Bar's Transitio
03:14
Unlock unlimited learning

Get instant access to all 9 lessons in this course, plus thousands of other premium courses. One subscription, unlimited knowledge.

Learn more about subscription

Related courses

Frequently asked questions

What prerequisites are needed for this course?
This course requires familiarity with iOS development and a basic understanding of UIKit. Knowledge of Objective-C and Swift will be beneficial, as this course involves exploring UIKit internals and using the Hopper Disassembler, which requires reverse engineering skills.
What projects or outcomes can I expect from this course?
By the end of this course, you will explore private UIKit APIs and have the skills to apply advanced knowledge of UIKit's hidden features in your own applications. You will learn to nest navigation controllers and manipulate the navigation bar using both public APIs and Key-Value Coding (KVC).
Who is the target audience for this course?
This course is tailored for intermediate to advanced iOS developers who are interested in understanding the internals of UIKit. It is ideal for developers looking to gain an edge by leveraging private APIs and reverse engineering techniques in their applications.
How does the depth of this course compare to similar courses?
Unlike typical UIKit courses, this course delves into the internal workings of UIKit by using Hopper Disassembler. It offers insights into private APIs and techniques like nesting navigation controllers beyond the standard public interfaces, providing a deeper understanding of UIKit's underpinnings.
What specific tools or platforms will I learn to use?
The primary tool covered in this course is Hopper Disassembler, which is used to reverse engineer UIKit. You will also learn to use Key-Value Coding (KVC) for advanced manipulation of navigation controllers within UIKit.
What topics are not covered in this course?
The course does not cover basic UIKit usage or general iOS development practices. It focuses specifically on reverse engineering UIKit and exploring its private APIs, assuming prior knowledge of standard UIKit functionalities.
How much time should I dedicate to this course?
While the course consists of 10 lessons, the runtime is not specified. It is recommended to allocate sufficient time for each lesson to fully understand the concepts of using Hopper Disassembler and applying the knowledge in practical scenarios.