iOS学习集--网上转载iOS技术专题iOS学习笔记2017-3-29

iOS锁定系统库文件

2016-03-03  本文已影响1012人  俞子将

默认装完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的权限。

结论

参考资料

上一篇 下一篇

猜你喜欢

热点阅读