有關一個被刪除的問題 「如何看待 Clean My Mac 3 加入磁碟許可權修復功能」 的回復
--------------------------------------------------------------------------------------------------------------------
1,有關 磁碟許可權修復,這個 OS X 下所謂「萬金油」的功能,我已經說了多次,我就不說這個功能本身了。
2,加入這個功能,從實現角度來說,是零成本的,也就是說,閉著眼都能實現這個功能,連兩分鐘都不用,幹嘛不加上呢?畢竟很多用戶用了我的應用程序,多一個功能可能就多一個加分項,雖然這個功能花了我兩分鐘不到的編碼時間。我為什麼這麼說,隨便用個命令,dump 一下 CMM 3 Binary 的字元常量,你就能看出來:
strings ~/Desktop/CleanMyMac 3 | grep /usrn/usr/sbin/diskutiln/usr/bin/whereisn/usr/bin/defaultsn/usr/bin/dscacheutiln/usr/bin/killalln/usr/bin/tarn/usr/bin/mdutiln^(/net)|^(/tmp)|^(/var)|^(/cores)|^(/private)|^(/opt(?!/homebrew-cask/Caskroom))|^(/dev)|^(/sbin)|^(/bin)|^(/etc)|^(/usr)|^(%@)|^(/Library)|^(/System)|^(/Developer)|^(/Applications/Developer Tools)|^(/System/Library)|^(/Volumes)|.+(.app/).+|.+(.pvm).*|.+(.vmwarevm).*|.+/(.*.)(?![0-9]+[a-zA-Z]*)(?!localized).+/.+.appn/usr/bin/openn/usr/libexec/repair_packagesn/usr/bin/ditton/usr/sbin/pkgutiln/usr/bin/lsbomn/usr/local/ssl/lib/enginesn/usr/local/ssl/privaten/usr/local/ssln/usr/local/ssl/certsn/usr/local/ssl/cert.pemn/usr/tmpn
0x000000010042ab50 db "/usr/sbin/diskutil", 0 ; XREF=cfstring__usr_sbin_diskutiln
你說就這麼一個功能,不加上它都對不起我啊,要我寫我也加。最後證明下,
#import <Foundation/Foundation.h>nnint main(int argc, const char * argv[]) {n @autoreleasepool {n NSTask *task = [[NSTask alloc] init];n task.launchPath = @"/usr/sbin/diskutil";n task.arguments = @[@"repairPermissions", @"/"];n NSPipe *pipe = [NSPipe pipe];n NSFileHandle *handle = [pipe fileHandleForReading];n task.standardOutput = pipe;n task.standardError = pipe;n [task launch];n [task waitUntilExit];n n NSData *data = [handle readDataToEndOfFile];n NSString *str = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];n n NSLog(@"%@", str);n }n return 0;n}n
0x000000010040d4c4 db "runPeriodicScript:withReply:"n
CMM 3 就是界面好看,功能也就那樣,所有它的功能我都能自己實現,但是為啥還買?有錢任性外加懶唄!
推薦閱讀:
TAG:【辞客堂】数位杂谈版 |