[英]NSTask setLaunchPath Objective-C Cocca
這是一個非常簡單的問題。 我在與Cocoa應用程序相同的文件夾中有一個腳本。 我似乎無法為setLaunchPath
的NSTask
正確設置路徑。 請幫助。
我有一個名為Project的文件夾。 在其中,存在多個文件夾,但我們只關心兩個文件夾: Classes
(可可應用的源文件在這里)和Ruby(這是ruby服務器文件夾)。 我正在嘗試調用Ruby/script/server
。 我以為它會是./Ruby/script/server
或Ruby/script/server
但是兩者都是錯誤的。
謝謝。
編輯:我想我實際上要問的是是否有一種方法可以通過使用特殊字符或快捷方式來訪問源文件或項目所在的文件夾,因為默認情況下它將進入/tmp
文件夾。
應用程序中的當前目錄(就Unix而言)不能保證為任何目錄。 可以通過以下方式獲取主應用程序捆綁包,以獲取應用程序本身的路徑:
NSBundle*mainBundle=[NSBundle mainBundle];
然后得到它的路
NSString*path=[mainBundle bundlePath];
但是請不要那樣做。 如果沒有額外的文件放置說明,您將無法分發您的應用程序。 而是將您的Ruby代碼放入yourApp.app/Contents/Resources/
。 這可以通過在XCode中包含Ruby代碼並確保將其設置為復制到應用程序中來完成。 可以按以下方式獲取此Resources
目錄中的文件:
NSString*path=[mainBundle pathForResource:@"rubyServer" ofType:@"rb"];
要了解有關包結構的更多信息,請閱讀《 包編程指南》 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.