2009-07-11 196 views
25

我正在開發一個iPhone應用程序,並進行臨時分佈測試。我的用戶發送給我的崩潰日誌說:iPhone崩潰日誌說「版本:???」

Identifier:  MyAppName 
Version:   ??? (???) 
Code Type:  ARM (Native) 

我不明白如何用實際版本號代替這些問號。我已經配置了我的Info.plist以包含一個CFBundleVersion和一個CFBundleShortVersionString,但是這並沒有幫助...崩潰日誌仍然只包含問號而不是我期望的版本號。

如何設置我的版本,使其顯示在崩潰日誌中?

編輯顯然,由於iPhone CrashReporter中可能存在的錯誤,無法正確設置「版本」。但有沒有解決方法?在崩潰日誌元數據中插入版本號(例如內部版本號或SCM版本號)的其他方法?

+1

嘿丹 - 它聽起來就像你做的一切權利。 Info.plist中的值應該是我認爲唯一的版本號......也許這是一個錯誤? – 2009-07-11 01:43:27

+1

我在手機上看到的所有崩潰日誌,來自幾個發佈應用程序,都有版本:??? (???),所以我認爲這只是它是如何。 – 2009-07-11 12:46:49

回答

28

最簡單的方法是保存所分發的所有二進制文件的UDID,並將它們與故障轉儲中的UDID進行比較。您製作的每個版本的UDID都不相同。

要獲取UDID:

$ dwarfdump -u /path/to/MyApp.app/MyApp 
UUID: 864F3D54-F165-3356-3292-2C9C48E97C55 (armv6) /path/to/MyApp.app/MyApp 

,並將其與該系統崩潰日誌:

Binary Images: 
    0x1000 - 0x5ffff +MyApp armv6 <864F3D54F165335632922C9C48E97C55> /var/mobile/Applications/5FB3933B-348E-42D7-B99F-76DE284D2148/MyApp.app/MyApp 
3

這似乎是所有iPhone應用程序的情況,包括來自Apple的應用程序。您可以瀏覽所有的iPhone應用程序崩潰的日誌記錄,爲您的設備在控制檯:

FILES /〜/圖書館/日誌/ CrashReporter始終/移動設備/ ...

一切都在該列表中顯示出來未知版本對我來說,除了MobileSafari,其中有稍微不同的信息:

OS Version:   iPhone OS 2.2.1 (5H11) 
Date:    2009-02-15 02:19:06 -0600 

所有其他應用程序,包括蘋果的日曆&郵件應用,顯示了其版本號問號。

看來其他開發者已經注意到the same thing。這可能是iPhone的CrashReporter程序中的一個錯誤。

+0

謝謝。有什麼解決方法嗎?在崩潰日誌元數據中插入版本號(例如內部版本號或SCM版本號)的其他方法? – 2009-07-12 21:00:21

+0

不幸的是,我不知道。我已經超出了我的聯盟對這個東西:) – 2009-07-13 01:41:49

2

對於adhoc和beta測試,只需更改標識符即可。 MyAppNameV1.0b36而不是MyAppName顯然這不適用於您的App Store版本,但它會讓您通過beta測試。

請注意,這可能需要通配符專用配置文件,但可以通過開發人員門戶輕鬆實現。