2012-02-11 74 views
10

我有一個iOS應用程序要與多個第三方預構建靜態庫鏈接。那些靜態庫已經將其調試信息剝離,並且顯然也丟失了它們的體系結構信息。當建築(在這種情況下,仿真器)應用程序,我收到很多警告的是這樣的:隱藏Xcode關於丟失體系結構的dsymutil警告信息

/Developer/usr/bin/dsymutil 
warning: (i386) 'libtest.a(test.o)' doesn't contain architecture information for i386. 

有沒有辦法告訴dsymutil閉嘴這件事?該應用程序編譯和運行得很好,但所有這些警告都非常難看,我想擺脫它們。有什麼建議麼 ?

+0

你能提供你正在使用的第三方庫列表嗎?我的理解是,如果第三方庫不支持模擬器,你可能會得到上述錯誤。 – lancegoh 2013-03-14 14:39:58

+0

試着設置'Build Active Architecture Only'= YES/NO。另請查看第三方項目設置中的「體系結構」和「有效體系結構」。 – 2013-03-20 19:25:15

+0

可能是您未在項目構建設置中設置用戶標題搜索路徑和其他鏈接器標誌。 – 2013-04-05 05:53:55

回答

-1

將項目中的體系結構更改爲僅包含armv7,而不是默認設置。

+0

偉大的問題,現在是一個骨頭或兩個,在此先感謝。 – ort11 2013-05-08 19:41:05

+0

您不想再這樣做。https://developer.apple.com/news/?id=10202014a – NickDK 2015-01-26 16:05:37

5

我也面臨同樣的問題。搜索了很多東西,我發現後是

更改構建設置 - >調試信息格式從值「矮跟的dSYM文件」DWARF解決問題和隱藏的警告。

+2

這並不能解決問題;它只是掩蓋它。它會帶來更大的問題:當你的應用程序在現場崩潰時,你從Apple,Crashlytics等獲得的崩潰日誌將不再有用。他們只會告訴你你的應用崩潰的功能或方法,沒有行號。 – dgatwood 2015-10-30 20:21:23

+0

歸檔rdar:// 23337914請求一種方法將dsymutil警告的詳細程度降至每個剝離框架或歸檔的一條消息。 – dgatwood 2015-10-30 20:35:36