Hopper to disassemble the UIKit.framework from Xcode
Asked Answered
M

1

7

I use Hopper Disassembler to disassemble the UIKit.framework. I usually select the binary from /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/System/Library/Frameworks/UIKit.framework/UIKit but since I'm using Xcode 9 and later, I'm unable to find the binary to do the disassembling. The Xcode 8 UIKit.framework has the binary but the Xcode 9 UIKit.framework has only a UIKit.tbd file.

How can I achieve the disassemble in recent Xcodes?

Malvie answered 31/7, 2018 at 11:40 Comment(0)
D
42

Apple split up UIKit. The framework you are looking for is in ../PrivateFrameworks/UIKitCore.framework

Xcode 10

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/System/Library/PrivateFrameworks/UIKitCore.framework/UIKitCore

Xcode 11, 12, 13 & 14

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/System/Library/PrivateFrameworks/UIKitCore.framework/UIKitCore

Xcode 15

/Users/{USERNAME}/Library/Developer/Xcode/iOS DeviceSupport/{IPHONE_MODEL} ({IOS_VERSION})/Symbols/System/Library/PrivateFrameworks/UIKitCore.framework/UIKitCore
Digitalize answered 27/9, 2018 at 12:8 Comment(7)
In Xcode 9.4.1, the /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/System/Library/PrivateFrameworks folder doesn't exist.Malvie
Damn, that's a long path right there! But it works, thank you.Malvie
hi @Digitalize there is only one uikit binary. Are there should be different binaries for iOS10, 11, 12 and so on?Attlee
Anyone found the path to SwiftUI framework yet?Outpoint
in lldb image list will give u the list oof all loaded frameworks with their pathsMerylmes
It looks like the path has changed for Xcode 15, as the framework is no longer located within the Xcode app bundle. Instead, you can find it within user’s Library folder at /Users/{USERNAME}/Library/Developer/Xcode/iOS DeviceSupport/{IPHONE_MODEL} ({IOS_VERSION})/Symbols/System/Library/PrivateFrameworks/UIKitCore.framework/UIKitCore. Please share your results if this path works for you.Donoghue
Yes, the path works for me as well. I'll update the answer. Thanks Lukáš!Digitalize

© 2022 - 2024 — McMap. All rights reserved.