粗略算一下,在第一次接触OSX的时候,我接触Windows已经有14年,刚開始用OSX和Xcode各种不习惯。可是用Xcode写了一星期的代码,我却有一种想把Windows和VS扔了的感觉(真的用着非常舒服!)。


近期写Cocoa,须要对磁盘等设备文件进行操作。当然首先我想到的是Windows中的CreateFile这个API,在查询一些资料以后发现,OSX是基于BSD SYSTEM后代。那么我们仅仅须要使用int open(const char *pathname, int oflag, ... );

 m_fp = open("/dev/disk0s1", O_RDWR);
    if (m_fp == -1)
    {
        NSLog(@"error : %i",errno);
    }
    else
    {
        NSLog(@"Open device or file success!\n");
    }
当然,返回了-1,我查看errno = 13 (权限不够),当然第一次玩UNIX这类的系统我挺没辙的,心想找找类似于管理员权限执行的选项,并没有,后来我发现了下面方法(以Root权限执行):

打开 Terminal  输入:

sudo /Applications/Xcode.app/Contents/MacOS/Xcode  

再键入你的 Password后。root模式启动Xcode成功。


至于sudo后面的路径而言,在OSX下的Applications文件夹下的全部程式事实上都是一个Package Contents,我们打开Package Contents以后发现。里面是一个文件夹,类似于Windows的程式风格,在MacOS下有个同名的exec文件。才是类似于Windows的.exe的主程式文件,我们须要root运行的也就是它了。