iOS TBD文件而不是Mach-O二进制文件

时间:2015-11-03 16:01:15

标签: ios xcode ios8 iokit

环境

  • Jail Broken iOS 8.4
  • Xcode 7
  • OS-X 10.10

手头的问题

我正在尝试找到IOKit ARM7二进制文件,但我能找到的只是' IOKit.tbd','IOKit.tbd'是以下格式的纯文本文件:

---
archs:           [ armv7, armv7s, arm64 ]
platform:        ios
install-name:    /System/Library/Frameworks/IOKit.framework/Versions/A/IOKit
current-version: 275.0
exports:         
  - archs:           [ armv7, armv7s ]
    symbols:      [ _IOConnectMethodScalarIScalarO, _IOConnectMethodScalarIStructureI,
…

在以下路径中的Jail Broken设备上找不到IOKit二进制文件:

“/System/Library/Frameworks/IOKit.framework/Versions/A/” 

的Xcode.app包上

OR

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/IOKit.framework/Versions/A

关于后者,我得到了IOKit.tbd',在iOS文件中搜索IOKit结果如下:

iPod-touch:/ root# find . iname 'IOKit*' -type f | grep IOKit
./System/Library/Frameworks/IOKit.framework/Versions/A/Info.plist
./System/Library/Frameworks/IOKit.framework/Versions/A/_CodeSignature/CodeResources

在OS-X FileSys上,在以下路径下找到 IS二进制文件

 /System/Library/Frameworks/IOKit.framework/Versions/A/IOKit

但是,它仅包含X86和X86_64指令集的代码,而不包含ARM指令集

ARM IOKit二进制文件位于何处?
如何直接访问IOKit文件?

2 个答案:

答案 0 :(得分:1)

  • 在MacOS上只有x86& x64二进制文件,这些用于执行MacO二进制文件x86 / x64风格的模拟器,这些R位于/ System / Library / PrivateFrameworks下
  • 在同一文件夹(/ System / Library / PrivateFrameworks)下的物理设备上找到ARM等效的库,使用Jail Broken设备获取这些库。
  • 在设备上启动应用程序时,可以在xcode挂载的开发人员映像上找到其他ARM私有框架,这些框架位于&#39;%DMG Root%/ DeveloperDiskImage / Library / PrivateFrameworks /&#39;。< / LI>

答案 1 :(得分:-1)

对于iOS开发,您需要从此处获取:

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/IOKit.framework