扒蟲篇-Bug日志 Ⅱ


1.一個奇葩的注冊App上傳時出的蛋疼問題

事情是這樣的:一個風和日麗的下午,我正在 itunesConnect 中注冊一個APP,基本信息都保存了,在編輯版本信息時,都弄的差不多了,可是沒有保存,結果不巧,停電了......,等來電之后我再次注冊時:

Paste_Image.png

可是我這里并沒有顯示出來啊,而且老板定下的名字也不能改啊,于是我嘗試各種解決辦法:關閉瀏覽器清理電腦,再次登錄;換臺電腦再次登錄;重啟電腦,再次登錄。可是還是如此。期間,itunesConnect竟然抽風宕機了

Snip20161122_1.png

沒辦法了,我都想著給蘋果的客服打電話了,可是第二天早上,登錄賬號后發現

Paste_Image.png

它居然出現了,尼瑪,,,蘋果服務器出的問題。

2. Xcode8上一個模擬器運行時的報錯。

Snip20161010_1.png

這是個不經常出現的問題,一旦出現模擬器就無法以Debug的形式,連接調試了。真機上可以運行。

解決方法:

先New 一個Scheme。

Paste_Image.png

點擊 Mangage Scheme ,


Paste_Image.png

在這個界面中刪除舊的 Scheme,選擇使用新創建的 Scheme即可解決。

3. 使用服務器返回的 NSCFBooL 類型的數據需要使用方法 boolValue

問題是這樣的,使用服務器返回的一個bool類型的字段,使用時 直接

if(){}就是這個值是 YES的意思,可是不管返回的是什么,這個if 條件都成立。無法使用。

Snip20161126_9.png

解決辦法: 需要使用 boolValue 才可以正真傳化為 Bool類型。

Snip20161126_10.png

4. 獲取某一行cell的崩潰性Bug

這是一個大家一不小心就會犯的錯誤,我也是經常躺槍,當時記住了,事后又忘記出錯了。

Snip20161129_3.png

解決辦法 加上 inSection:0 進行 NSIndexPath 的初始化。

Snip20161129_4.png

5. 一個自定義彈框,點擊頁面上任何地方都會觸發消失手勢

~
一個自定義彈框中有一個灰色的背景,點擊可以讓整個彈框都消失,點擊中心的白色編輯區域,不應該消失,可是現在,點擊中心的白色編輯區域也會觸發加在灰色背景上的消失手勢。

解決方法: 原因是因為,白色的區域 addSubView 在了 灰色背景視圖上,手勢加在灰色視圖上,因為白色的父視圖是灰色的視圖,所以點擊白色的區域也會觸發其父視圖的手勢,,,,,只需要把白色視圖不加在 灰色區域即可,這樣,點擊白色區域就不會觸發灰色背景上的消失手勢了。

6. 集成海康監控SDK 時,導入了系統類庫后還是報了這么多錯誤。真機、模擬器都報錯。

~


看了一個問題:發現 “std”跟C++語言混編有關,也的確,工程中用到了混編。有.mm文件

Snip20161212_3.png

解決方法 如下圖設置即可,這也是很多C++混編都可能出現的問題解決方案

XCode 的 Build Setting中 的 C++ Standard Library默認選擇了
libc++ (LLVM C++ standard library with C++11 support)選項,
這個表示支持c++11的最新特新,
但是它只支持ios5以上,所以如果要使用這個選項,有兩個選擇:
第1個選擇就是 將Deployment Target中 改為5.0以上,一般不會這樣,因為我們一般想支持的sdk越低越好,盡量支持低版本的ios設備。
第2個選擇就是 將這個 C++ Standard Library選項改為 libstdc++ (GNU c++ standard library ),它支持最低到4.3 .

++++++++++++++++++++++++++++++++++++++++++
總結一句話:將 C++ Standard Library選項改為 libstdc++ (GNU c++ standard library ),即可,Deployment Target 可以支持 4.3 以上的任意版本。

由上面的介紹可知,這次的報錯可能是 海康的SDK是在iOS5之前開發的,并不支持 ios5以上,
所以需要將這個 C++ Standard Library選項改為 libstdc++ (GNU  c++  standard  library )以支持更低的版本

7. 網絡請求回來數據解析后Block回調布置頁面很久不顯示

~
#debug斷點調試的時候,代碼明明已經執行了,但是就是要過很久之后才會顯示
#猜測是分線程的問題,加上這句通知主線程的語句后,
#即可立即顯示需要布置的UI
dispatch_async(dispatch_get_main_queue(), ^{
xxxxxxxx
});

8.模擬器上顯示圖片,真機運行后卻不顯示

~
這的確是一件蛋疼的事,Clean?,卸載重裝,都還是不顯示......
你可以選擇砸了手機,說一句:“WTF,破手機,這手機有問題”
也可以這樣:把那些不顯示的圖片拖到 PS里面,快速導出為 PNG,然后刪除原來的圖片,導入新生成的圖片,造次Clean,運行就會出現了。
這是因為模擬器不會校對文件格式的正確性,而真機會,那些不顯示的圖片其實不是真正的 PNG格式

.

9.APP上傳APPStore 報錯 -22421

Snip20161228_1.png

.
直接Cancel掉,重新Upload一次就行了,如果還不行,等幾分鐘再試一次。
原因就是:蘋果服務器那邊繁忙導致的,并不是我們打包的問題。

10.一次模擬器運行報錯

Snip20170106_1.png

解決方法: 重置模擬器即可解決。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 173,381評論 25 708
  • 發現 關注 消息 iOS 第三方庫、插件、知名博客總結 作者大灰狼的小綿羊哥哥關注 2017.06.26 09:4...
    肇東周閱讀 12,245評論 4 61
  • 最近發現,自己朋友中有好幾個人陷入了“社交懶惰”的狀態。 社交懶惰不同于社交恐懼。“社交恐懼”是一種更強烈的狀態,...
    霍霍有聲閱讀 310評論 3 1
  • 活在當下是2017年的語錄格言之一 一次做一件事是活在當下 不糾結是活在當下 不拖延是活在當下 當日事當日畢是活在...
    Yee_Cheng閱讀 601評論 0 51
  • 從初一的上下鋪到到現在的六人間沒有一個宿舍是都不抽煙的,不知道是我運氣差還是你們也都這樣。高中的時候我也曾學抽著幾...
    路遙之蝸牛閱讀 571評論 0 1