When integrating UIKit and trying to customize using existing components, too many of the components are inaccessible.
Here’s a few examples of UI Components and types that aren’t accessible when integrating via cocoapods/SPM.
- Various UIImage extensions used within UIKit
- most non-top-level classes
This makes it hard to change minor things since it requires re-implementing private classes that exist within the framework, but aren’t accessible outside of the module. For example, if one wants to override cellForRowAt to make a minor change, but still use existing components, it’s not possible since the UITableViewCell that UIKit uses is only accessible internally, not via overrides in a super class.
Since it also integrates as a static library and not source code, it’s not possible to add breakpoints and step through the UIKit code to see what’s happening.
Is there a solution to being able to make UIKit more extensible?