開(kāi)發(fā)是一門(mén)技術(shù)活,需要過(guò)硬的技術(shù)還需要強大的全局統籌能力。在IOS APP開(kāi)發(fā)中很多開(kāi)發(fā)者都沒(méi)有注意到后臺運行的坑,時(shí)常讓用戶(hù)去踩。其實(shí)在進(jìn)入后臺之后很多關(guān)鍵任務(wù)都會(huì )被封裝到Background Task里面,著(zhù)重去分析就發(fā)現很多坑在里面埋伏著(zhù)。

那么,需要避免的坑到底有哪些呢?
1、Crash信號:一般APP里面都會(huì )有自己的日志采集工具,這類(lèi)型工具會(huì )存在三個(gè)問(wèn)題。第一是在工具啟動(dòng)之前crash日志沒(méi)有辦法捕捉;第二是啟動(dòng)閃退沒(méi)有辦法上傳日志;第三就是一些特殊場(chǎng)系統強殺沒(méi)有辦法捕獲信號。這三個(gè)問(wèn)題不解決,很容易讓用戶(hù)跳進(jìn)坑里去。另外基于用戶(hù)的隱私考慮,最好就是采集數據的時(shí)候進(jìn)行加密,并且要保持刷新的頻率,不能過(guò)于頻繁。
2、后臺任務(wù)運行坑:后臺任務(wù)運營(yíng)的API其實(shí)非常簡(jiǎn)單,但是運用簡(jiǎn)單代碼都會(huì )隱藏著(zhù)不少風(fēng)險。首先系統是通過(guò)apple的crash日志來(lái)獲得信號,當然這是一個(gè)強系統,用戶(hù)可以先同意訪(fǎng)問(wèn)再上傳分享,能在一定程度上避免隱私泄露問(wèn)題,但是想要有更強的防護系統,還是需要技術(shù)人員把代碼復雜化,防止用戶(hù)在使用產(chǎn)品的時(shí)候去跳坑。