iOS 奇妙bug集錦

2021-09-24 07:27:10 字數 1037 閱讀 2329

最近設計師想要使用某款非系統字型的數字字型,想了個辦法把數字字型提取出來(提取工具是fontzip,提取完才7kb)放到專案中,正常執行,但到組裡其他人的電腦上就會遇到ios10以下的模擬器,uilabel載入這個字型後,只要涉及到渲染的api(比如sizetofit)就會崩潰,崩潰是停在類似於以下錯誤的地方

check_range_index: 95 not in range (16 - 0), interpreter value out of range(glyph = 1)

而且最慘的是真機也會...一開始沒想到是字型的問題就各種斷點,最後發現是自定義字型的問題,在他們的電腦上執行,字型能正常載入,但就是渲染不了...很迷

由於**都查不到有人遇到check_range_index錯誤... 我估計這個錯誤是textkit載入完素材和設定後(比如nsstring,uilabel的各種屬性),在渲染的時候渲染失敗,在載入下乙個位置的時候就越界了

2018.7.17更新

最近在做乙個瀏覽器,用到了乙個collectionview來顯示原圖,由於習慣就在cell裡面放了乙個空白的uigesturerecognizer做佔位,等做完其他功能再來做雙擊縮放的功能,結果就遇到了乙個奇怪的bug:

在不能移動的情況下滑來滑去,scrollview的滾動就會完全失效,查了半天以為是新增太多pan手勢了,去掉所有pan手勢還是會,最後發現就是那個佔位的空白uigesturerecognizer的鍋,想了一下,在觸發了空白的uigesturerecognizer後,空白的uigesturerecognizer應該是由於沒有實現重新把它的state 變成 uigesturerecognizerstatepossible這個操作,結果 導致所有其他手勢都在等待它結束

2018.7.28更新

然後bug來了:後面取消dismiss後忘記把speed設定回來,導致在取消下拉dismiss後,雙擊縮放時,會不知道飛到**去,大概是因為uiscrollview的縮放是通過控制layer來實現的,由於speed為0導致動畫無法進行就結束了所以就不知道飛到哪去了,把speed設定為1後就恢復正常

奇妙bug記錄(1)

在做一道需要對二維陣列遍歷的題時,我莫名其妙地使用了列主序的迴圈順序,如下 for int j 0 j n j 對應的邏輯上完全等價的行主序寫法如下 for int i 0 i n i 正當我認為必a無疑地交上去的時候 可以看到,時間為2045ms,而題目限制2000ms,百思不得其解,找來標程對比...

iOS開發 棘手BUG

解決方法 changed the value of the compiler for c c objective c to default compiler.afnetworking 錯誤 request failed unacceptable content type text plain.網路請...

iOS的遊戲引擎集錦

突然想研究一下ios的遊戲引擎,先搜到列下來,有空乙個乙個看 3dsio2interactive http url.cn 47jq0i 364.99 包含2d worldcrafthttp url.cn 0aezm4 免費 chaos3d http url.cn 4ixg1a 免費 galaxyen...