我正在嘗試構建使用第三方可可API的可可應用程序(它也需要響應URL方案)。我希望我的應用程序儘可能簡單,並作爲其他應用程序的「幫助」應用程序。我應該如何創建一個輸出到命令行的Cocoa應用程序?
看來我最好的辦法是從命令行with arguments啓動應用程序,然後在退出之前將一些輸出直接寫入CLI或某個中間文件(如plist) 。
我怎樣才能最好地產生輸出(假設我只是把它轉儲到命令行),和/或有沒有更好的方法來解決這個問題?
我正在嘗試構建使用第三方可可API的可可應用程序(它也需要響應URL方案)。我希望我的應用程序儘可能簡單,並作爲其他應用程序的「幫助」應用程序。我應該如何創建一個輸出到命令行的Cocoa應用程序?
看來我最好的辦法是從命令行with arguments啓動應用程序,然後在退出之前將一些輸出直接寫入CLI或某個中間文件(如plist) 。
我怎樣才能最好地產生輸出(假設我只是把它轉儲到命令行),和/或有沒有更好的方法來解決這個問題?
一般性意見只,「最好」是主觀的!
如果您將輸出多個「blob」(這是一個技術術語;-))使用C的標準I/O函數,如果您只打算輸出一個blob,則可以使用write
。其基本做法是:
NSString
您的輸出 - 反正你喜歡NSString
的UTF8String
方法(或轉換成其他一些字符集編碼),以產生一個C字符串stdout
與fputs
等或使用write
如果你這樣做是多次包裹上面了文件描述符1
一sa根據需要採用格式字符串/參數的方法等。
您會看到一些CLI應用程序以plist格式生成輸出到終端,這對於要成爲助手的應用程序非常有用 - 調用應用程序可以讀取通過管道輸出並將plist轉換爲字典/數組,就像讀取.plist文件一樣。這比將plist寫入文件然後再讀回來更直接。
但助手不需要CLI或GUI,您可以用各種形式的IPC啓動並與他們通信。如果您的應用程序將被沙盒化,則應考慮XPC幫助程序。
HTH
您是否要求將NSLog重定向到文件? – 2013-04-04 18:43:41
'fprintf(stdout,「format%d string \ n」,1337);' – 2013-04-04 18:45:50