2015-06-14 47 views
-2

在馬修紐約的NSDate + DateTools,那裏是一個的崩潰對我行:NSDate的主束碰撞

#ifndef DateToolsLocalizedStrings 
#define DateToolsLocalizedStrings(key) \ 
NSLocalizedStringFromTableInBundle(key, @"DateTools", [NSBundle bundleWithPath:[[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"DateTools.bundle"]], nil) 
#endif 

我移動的文件從另一Xcode項目這一新的XCode項目。所以我認爲它在mainBundle中尋找不存在的東西?我不確定發生了什麼事。謝謝....

+0

1.是這個OSX或iOS? 2.完整的錯誤信息在哪裏,將其添加到問題中。 3.不要使用#define,注意它很難調試。這應該是一個多語句方法,可能是一個類方法。 5.什麼是問題? – zaph

+0

感謝您的快速響應。在我看來,最可能的情況是DateTools.bundle不在我的應用程序包中。我將如何檢查這個? – louiskablooie

+0

如果你沒有把它放在那裏,它不在那裏。 – zaph

回答

0

這是非常不安全的編碼。你需要檢查每個參數實際上是否返回不是零的東西。即使resourcePath有返回零的可能性,但在你的情況下,最有可能的是「DateTools.bundle」丟失或在應用程序包中錯誤的位置。

我真的不喜歡這樣簡潔的代碼。它沒有任何用處,並且使調試變得痛苦。

+0

好的,謝謝。如何訪問應用程序包並查看它是否在那裏? – louiskablooie

+0

在Xcode中使用「存檔」,然後使用查找程序Show PackageContents移動到您的應用程序包中 – 2015-06-14 17:57:44

+0

好吧,如果我沒有它,如何獲取該文件/包? – louiskablooie