引
默认装完Xcode后,我们还是可以修改系统的Frameworks中的头文件。比如,我们首先定位到UIKit.h中。
按 cmd+shift+O 打开符号搜索框,输入uikit.h
。然后点击进入该头文件。这时候,我们可以随意修改它,WTF...之前,同事就因为查看系统接口,把部分接口误删了,导致编译报错,弄得很麻烦。
而如果,我们进入到sdk下的usr/include
下,修改头文件,系统会报文件已经被锁定。如下图:
可以看到usr/include
下的头文件,默认情况下已经被锁定了。所以,我们要把frameworks下的文件,也搞成锁定的。这样就可以避免小白,乱动这些头文件,导致蛋疼的结果。
解决
其实,要锁定文件,其实就是把文件权限改成只读,把它的写权限关掉即可。我们做的,主要是定位到系统的frameworks的路径下,然后用chmod命令去掉写权限即可。
根据上面的步骤,进入到UIKit.h中。这里可以看到代码编辑框上面,有个路径栏。如下图:
这个路径栏表示当前UIKit.h在模拟器sdk中,我们也可以切换到iOS的sdk下。我们首先,修改模拟器sdk中的frameworks为只读。
点击 File->Show in Finder 进入 UIKit.h在文件中的路径。然后,进几层上级目录,直到看到一大堆的以framework结尾的目录,路径类似如下:
/xcode/Xcode7.2.1.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/System/Library/Frameworks
打开终端,进入该目录,运行chmod命令,递归去除写权限:
sudo chmod -R a-w *
这时,再编辑UIKit.h
文件,系统就可以提示无法修改的提示框了:
类似方法,可以修改iOS、watchOS等idk下frameworks的权限。
结论
无
参考资料
无