2009-06-26 63 views
1

我正在構建一個iPhone應用程序,並且我的應用程序在首次安裝時將一堆資源複製到應用程序的Documents目錄。在開發應用程序時,我只需修改iPhone的Simulator的應用程序文檔目錄中的文件,以便輕鬆測試出各種內容,而無需重新編譯應用程序。建立iPhone模擬器時保持App目錄相同嗎?

但是,當我重建應用程序時,它的安裝目錄名稱中使用的應用程序的GUID已更改,並且我打開的任何文件現在都指向無效的目錄。

總之,有沒有辦法強制應用程序的GUID在安裝到iPhone模擬器時保持不變?這將允許我編輯VIM中的文件,並且在構建時不讓它們「消失」。我搜索了StackOverflow以獲取答案,並且沒有看到任何....最接近的是:

how to keep the iphone simulator application directory be the same when run it everytime

但它是不完全一樣的問題!

謝謝!

回答

2

我從來沒有找到過使用app guid來做到這一點的方法,但最終我找到了解決辦法。我所做的只是將所有對應用程序安裝目錄的引用放入一個函數中,並更改該函數,因此如果我在模擬器中運行,它會在我的系統上返回一個硬編碼的目錄....這樣,目錄始終即使我重新安裝應用程序也保持不變,所以我可以編輯我的文件,而不會在構建時丟失它們。

+(NSString *) appDocsDir 
{ 
#if TARGET_IPHONE_SIMULATOR 

     NSString* result = @"/Users/brad/ezappdir"; 
#else 

     NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, 
                  NSUserDomainMask, 
                  YES); 
     NSString* result = [paths objectAtIndex:0]; 
#endif 

    return result; 
} 
+0

什麼劈! (表示讚美。) – 2010-03-27 06:13:16

1

我通常處理這個是通過創建Copy FilesRun Script其標準構建過程後運行構建階段的方式。編譯階段如果沒有對源進行更改,將會跳過,所以只有你的構建階段將運行。然後,確保您的編輯器(Photoshop/vim等)正在編輯原始文件,而不是編譯目錄中的文件。

+0

這意味着,我想看看我在模擬器上的每一次變化,我不得不做一個版本(這將是有點快,因爲它沒有編譯代碼)...正如你所建議的那樣,這種方法很有效,但我希望能有一種方法,我不需要做那樣的事情......每個項目我都可以做一些事情,它會「堅持」。雖然謝謝! – 2009-09-01 00:19:12