找到class-dump所在的目录,比如~/Desktop/class-dump,使用命令:
cd ~/Desktop
使用如下命令将class-dump拷贝到目录/usr/bin:
sudo cp -f class-dump /usr/bin
执行命令后,提示如下:
cp: /usr/bin/class-dump: Operation not permitted
原因:OSX 10.11之后在配置class-dump的时候,会发现要将class-dump,copy到目录/usr/bin不被允许,权限问题。
解决办法:
1.打开Terminal,输入mkdir ~/bin,在当前用户根目录下创建一个bin目录;
2.把class-dump给拷贝到这个目录里,并赋予其可执行权限:mv /path/to/class-dump ~/bin; chmod +x ~/bin/class-dump;
3.打开~/.bash_profile文件:vi ~/.bash_profile,在文件最上方加一行:export PATH=$HOME/bin/:$PATH,然后保存并退出(在英文输入法中依次按下esc和:(shift + ;,即冒号),然后输入wq,回车即可);
4.在Terminal中执行source ~/.bash_profile;
上面的操作把~/bin路径给加入了环境变量,测试一下:
~/ class-dump
class-dump 3.5 (64 bit) (Debug version compiled Jul 6 2017 22:22:07)
Usage: class-dump [options] <mach-o-file>
where options are:
-a show instance variable offsets
-A show implementation addresses
--arch <arch> choose a specific architecture from a universal binary (ppc, ppc64, i386, x86_64, armv6, armv7, armv7s, arm64)
-C <regex> only display classes matching regular expression
-f <str> find string in method name
-H generate header files in current directory, or directory specified with -o
-I sort classes, categories, and protocols by inheritance (overrides -s)
-o <dir> output directory used for -H
-r recursively expand frameworks and fixed VM shared libraries
-s sort classes and categories by name
-S sort methods by name
-t suppress header in output, for testing
--list-arches list the arches in the file, then exit
--sdk-ios specify iOS SDK version (will look for /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS<version>.sdk
or /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS<version>.sdk)
--sdk-mac specify Mac OS X version (will look for /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX<version>.sdk
or /Developer/SDKs/MacOSX<version>.sdk)
--sdk-root specify the full SDK root path (or use --sdk-ios/--sdk-mac for a shortcut)
~/