有關一個被刪除的問題 「如何看待 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

這多簡單?其實這種抖機靈的東西多了,CMM 3 加了不少呢,

0x000000010040d4c4 db "runPeriodicScript:withReply:"n

說句不好聽的,只要你了解 OS X 的東西,也了解一些常用的系統維護終端命令,外加上會用點 NSTask,performSelector 這類的玩意兒,給你點時間你也能寫一個跟他功能差不多的,就是長的沒人家漂亮就是了。

CMM 3 就是界面好看,功能也就那樣,所有它的功能我都能自己實現,但是為啥還買?有錢任性外加懶唄!
推薦閱讀:

El Capitan Dev Beta 6 字體更新小窺

TAG:【辞客堂】数位杂谈版 |