2014-03-26 43 views
3

有沒有什麼方法可以從運行時的應用程序中獲取dSYM文件具有的UUID?在運行時爲應用程序歸檔時獲取dSYM具有的UUID

我嘗試了一個我發現的示例代碼,但它返回的是與dSYM不同的UUID。

謝謝。

+0

該應用構建生成的UUID是相同於在相同的時間的dSYM產生的UUID的相關聯的UUID。 UUID(針對每個體系結構)自動添加到兩個文件中。爲什麼在運行時需要獲取這個UUID? – Kerni

回答

7

如果您需要了解與您的iOS應用程序相關的UUID有一個巧妙的方法,你可以做的就是它:

$> mdls -name com_apple_xcode_dsym_uuids -raw "$APP_NAME.app.dSYM" | grep -e \" | sed 's/[ |\"]//g' 

這樣做是查詢聚光燈元數據爲您的應用程序的UUID鍵,您正在傳遞.dSYM,因爲這是與它關聯的位置。

grep命令在那裏只考慮具有實際UUID的行; sed命令清除空白和引號。

我之所以這樣做是因爲我需要將.xcarchive目錄上傳到服務器,此服務器不存儲任何Spotlight元數據,因此我需要明確地將其放在那裏。這一切都是在將崩潰日誌與特定版本的二進制文件相關聯的情況下完成的。

注意:將$ APP_NAME替換爲應用程序的名稱。

+0

謝謝你,但我需要從我的應用程序中得到這個。使用Objective-C代碼可行嗎? –

+0

我不清楚,如果我正確理解你的問題,但「.app」不知道任何有關DSYM文件。你能解釋一下嗎,爲什麼你需要這樣做? – gagarwal

+0

因此,我將能夠適當地符號化。看來我必須有dSYM文件構建UUID,對應於應用程序映像基地址uuid,但這是不一致的。我可能錯了。 –

1
dwarfdump -u <PathToYourAppsDsym> 

這將顯示相​​應DSYM

相關問題