? ? ? ? 公司要求做跨平臺的即時通訊項目,其中引用到Google protobuf、HTTP等跨平臺的庫。今天遇到一個比較坑的問題,記錄一下。
? ? ? 因為工程是在debug模式下調試和運行的,運行過程中出現的問題也能一個個排查解決,所以在debug模式下運行沒問題后就打包release版本的APP給同事用,結果同事登錄進去,一開聯系人就直接崩潰了!!!于是就在release模式下排查問題,排查了很久后,最終定位到獲取歷史消息時,請求返回的消息包含圖片和文件消息直接崩潰,原因是引用到HTTP跨平臺庫,于是和搞協議的同事一起解決問題,搞了很久還是沒能解決。最后求助項目經理,看了一下build setting工程配置,修改了一個屬性Optimization Level 后就把問題解決問了。Optimization Level 應該是編譯器的優化程度,在debug模式下默認是None[-O0],release模式下默認是Fastest,Smallest[-Os].把release的改為None[-O0]后,在release模式下正常運行。解決方案:Project > App target > Build Settings > Optimization Level > Release 將選項 fastest,Smallest[-Os]改為 None .
HTTP庫崩潰的地方
修改Optimization Level