iOS 開發過程中遇到的那些奇葩的坑

2021-07-27 22:58:30 字數 1668 閱讀 9710

1.列印異常:

dyld: lazy symbol binding failed: symbol not found: _objc_unsafeclaimautoreleasedreturnvalue(

dyld_sim`dyld_fatal_error:

0x60e000

<

+0>: int3   

->  

0x60e001

<

+1>: nop

) 問題描述:本人開發了乙個ios專案,開發環境:電腦環境mac os 10.12.2,編譯環境:xcode8.2.1,測試環境:ios 10.2.1、ios 8.4以及ios 9.3.5 。

應用程式ios 10 和ios 9.3.5環境執行正常,但是在ios 8.4執行不起來,直接閃退,如圖所示:

問題解決辦法:

檢查呼叫的靜態庫,檢視靜態庫最低相容版本(department target)是多少,如果是靜態庫最低相容版本比你專案的相容版本高,就需要修改之後重新打包靜態庫,我的問題就是 公司的sdk開發人員打包靜態庫的時候是用xcode 7.2(預設最低相容版本未ios 9.2)打包的,忘記改最低相容版本了,被坑了好幾天,終於找到問題了

2.程式編譯正常、執行正常但是打包時候報錯,異常資訊如下:

如果你的專案也是執行正常,但是打包出問題了就可能是build active architecture only這個屬性的問題,如下圖所示:

問題就出在這裡,debug模式下build active architecture only設定為yes,意思是只編譯當前裝置所對應的系統環境下,如果設定為no,意思是編譯為你所包含的所有裝置的系統環境下通用的型別,這時候就出問題了!如果是為了發布而打包應用,這時候就不能把這個鍵值對設定為yes,這會導致你的應用上架後在其他裝置不同系統上出現問題甚至無法執行的後果,其實出現問題的原因,上邊的異常資訊已經顯示出來了,就是紅色箭頭指示的地方

我這邊的原因是公司封裝sdk的人員在打包靜態庫的時候忘記修改這個鍵值對(預設的是debug模式為yes,release模式為no),要把生成靜態庫的方法(執行或者編譯)設定為no,修改後重新替換即可

iOS開發過程中遇到的小問題

1.xcode6.1建立繼承自nsobject類的資料模型,如果需要加關於ui的屬性時需要加入uikit的標頭檔案。3.xocde6 官方的小bug,用storyboard建立的工程在4寸屏上執行時會出現上下黑條的現象,此時需要加乙個啟 方可解決此問題。4.設定view的偏移量 self.view....

React Native 開發過程中遇到的問題

問題1 view巢狀scrollview時,scrollview不能滾動。view巢狀listview時,listview不能滾動。react native scrollview inside view doesn t scroll.react native listview inside view...

專案開發過程中遇到的問題

問題分類 1 邏輯問題 結構 處理流程的設計有問題,尤其在多執行緒操作同乙個物件時 2 介面定義和使用問題 例如介面結構或返回情況改了,未及時編譯或更改其他模組的呼叫 3 對接問題 對講問題不是你的問題,就是我的問題,需要聯查 4 理解問題 對功能 邏輯流程或函式定義和使用的理解不清晰 5 異常處理...