升級到Xcode11後發現模擬器常常出現「假死」,既不崩潰也不響應,代碼不日後執行,模擬器自己按Home鍵能夠回到桌面。追蹤一下發現執行完QQ SDK的初始化方法後代碼就不日後執行了,註釋掉這句話程序就能正常運行。
_tencentOAuth = [[TencentOAuth alloc] initWithAppId:platformModel.appID andDelegate:(id<TencentSessionDelegate>)self];
app
最開始我覺得是QQ SDK須要更新適配iOS13,下載了最新版本的QQ SDK發現仍是會出現這個問題。
難道和系統版本有關?經測試,發現真機沒問題,模擬器iOS十二、iOS13都會出問題。
我發現只有重啓模擬器或者重置模擬器能夠解決,可是跑一段時間又會出現這個問題,常常重啓模擬器不是長久之計。post
起初我一直覺得是QQ SDK那段代碼有問題,後來無心中發現執行到下面代碼時模擬器也會出現卡死的現象。
[UIPasteboard generalPasteboard].string = str;
難道只要調用了剪貼板相關的API就有可能卡死嗎?QQ SDK由於要跨APP通訊,頗有可能內部用到了剪貼板(我過後經過符號斷點測試也證明了這一點:QQ SDK初始化方法內部確實有調用剪貼板相關API)。測試
在網上搜了一下,果真有相關的信息!《Xcode 11 的那些新東西》這篇文章中「模擬器」部分提到3d
修復了若是啓用了自動粘貼板同步,則可能致使模擬器在其餘應用程序中與剪貼板相關的操做後崩潰或無響應的問題。code
我用的是Xcode11.1正式版,文中說已經修復了這個問題,可是實際使用中仍然存在。但至少這篇文章佐證了個人猜想。orm
下面是蘋果開發者論壇裏的討論,看來遇到這個問題人很多,我最終在這裏面找到了解決方案
Xcode 11 iOS 13 simulator freeze UITextFieldcdn
關掉模擬器的剪貼板同步功能,重啓模擬器。
Simulator -> Edit -> Automatically Sync Pasteboard 取消勾選 blog
重啓模擬器 Hardware -> Restart開發
這應該是蘋果的一個bug(Xcode11.1),但願蘋果爸爸早日修復吧。get
若是以爲這篇文章對你有幫助,請點個贊吧。若是有疑問能夠關注個人公衆號給我留言。
轉載請註明出處,謝謝!