2011-07-02 70 views
1

我在將shader-glsl文件從一個xcode項目添加到另一個xcode項目時遇到一些問題。我現在完全困惑,因爲我無法制作一個文件路徑,我只需拖入xcode即可。 我已經檢查拼寫,「show in finder」很多次,仍然有問題...pathForRes產生不穩定的空

這是我添加到xCode的文件的示例,我甚至沒有把它們放到子目錄中以排除任何問題的: Screenshot

現在我的代碼:

NSLog(@"Filepath of Tools-image: %@",[[NSBundle mainBundle] pathForResource:@"tools" ofType:@"png"]); 
    NSLog(@"Filepath of mo-tut is: %@",[[NSBundle mainBundle] pathForResource:@"mo" ofType:@"tut"]); 
    NSLog(@"Filepath of FragShader-fsh is: %@",[[NSBundle mainBundle] pathForResource:@"fragshader" ofType:@"fsh"]); 

在運行時我得到這樣的輸出:

2011-07-02 02:03:33.516 windowconfig[16192:707] Filepath of Tools-image: /var/mobile/Applications/BC82AD2C-B8B9-4751-80A2-31EC5ACEC9C2/windowconfig.app/tools.png 
2011-07-02 02:03:33.526 windowconfig[16192:707] Filepath of mo-tut is: /var/mobile/Applications/BC82AD2C-B8B9-4751-80A2-31EC5ACEC9C2/windowconfig.app/mo.tut 
2011-07-02 02:03:33.531 windowconfig[16192:707] Filepath of FragShader-fsh is: (null) 

請問,有沒有人有這個想法?

編輯:「tools.png」目前是我在標籤欄上使用的圖標,它在資源中的子文件夾中,僅僅是一個比較測試。如果你們想知道爲什麼我沒有打開截圖中其他文件的路徑。

EDIT2:在過去的兩個小時裏,我用瘋狂的「乾淨」。 「fragshader.fsh」顯然不會被複制到「windowconfig.app」包中,即使我將它添加到項目中的方式與我添加「mo.tut」相同,並且這個包在包中。我怎樣才能確保它被複制?

EDIT3:在Inspector中檢查兩個文件的目標成員資格,但仍沒有複製着色器。

解決方案:

在目標 - 建造階段的文件是不是在「文件拷貝到捆綁」名單。 我手動添加它,但仍然奇怪,它沒有自動添加後,我將文件添加到項目。

回答

2

您是否確定fragshader.fsh位於複製文件步驟? (即確保它實際存在於最終的應用程序包中)。

+0

如果我在「〜/ Library/Xcode/DerivedData/....」下打開bundle,那麼fragshader不包含在「windowconfig.app」中。 「mo.tut」即使我將它們以與Xcode完全相同的方式添加。我如何確保它被複制,並且可能是沒有進入複製文件步驟的原因? – Bersaelor

+0

http://developer.apple.com/library/mac/#recipes/xcode_help-project_editor/Articles/CreatingaCopyFilesBuildPhase.html或類似可能會有所幫助:) –