項(xiàng)目遇到的問(wèn)題

一、包體大小不一致問(wèn)題?

iOS正確查看ipa包大小方式:
以查看App Store的正式包為例:

一、打開(kāi)http://ios.meitu-int.com/ipa/mtxx/queue

image.png

二、Mac OS下查看:選中下載好的ipa包->右鍵->顯示簡(jiǎn)介->大小
image.png

三、Windows下:選中下載好的ipa包->右鍵->屬性->大小
image.png

切記:查看包大小以實(shí)物(下載ipa)大小為準(zhǔn)(即:上圖紅框內(nèi)的為準(zhǔn))

二、Xcode12和Xcode12.1適配的問(wèn)題?

對(duì)于屏幕適配遵循了歷史代碼的適配方式:使用UIScreen.main.currentMode獲取手機(jī)的物理像素判斷不同的機(jī)型進(jìn)行適配。

問(wèn)題出現(xiàn)的原因:以iPhone12 Pro Max為例來(lái)說(shuō),
Xcode12 打包時(shí)iPhone12 Pro Max 取出的物理像素為1242* 2688px(這個(gè)是iPhone11 Pro Max的物理像素)
Xcode12.1 打包時(shí)iPhone12 Pro Max 取出的物理像素為1284* 2778px(這個(gè)才是iPhone12 Pro Max的真實(shí)物理像素)
1242* 2688px是做過(guò)適配的展示高度為348pt
1284* 2778px未做過(guò)適配展示高度使用了默認(rèn)的254pt,故顯示過(guò)低。
同理iPhone12 Pro未做過(guò)適配展示高度使用了默認(rèn)的254pt

解決方案:增加對(duì)新機(jī)型iPhone12 Pro、iPhone12 Pro Max的做屏幕適配(Xcode12.1)

三、賬號(hào)退出后,商業(yè)化sdk還能獲取到uid?

分析:賬號(hào)退出,各個(gè)sdk再去獲取用戶信息應(yīng)該是nil,這才是正常的流程。
因此分別去商業(yè)sdk、大賬號(hào)sdk初始化位置看了一眼,發(fā)現(xiàn)都有注冊(cè)observer來(lái)接受logout的通知,但是商業(yè)sdk初始化早于大賬號(hào)sdk初始化,這樣的話退出賬號(hào)時(shí)商業(yè)sdk會(huì)先得到通知,然而商業(yè)化sdk內(nèi)部在接受到退出登錄的通知后還有一個(gè)獲取uid的操作,這不就有問(wèn)題了么。
結(jié)果這么一分析,問(wèn)題就清晰了。observer的存儲(chǔ)結(jié)構(gòu)實(shí)際上是一個(gè)單向鏈表。一個(gè)結(jié)構(gòu)體 Observation 包含了一個(gè)observer(觀察者)、selector(該觀察者需要執(zhí)行的方法) 、以及指向下一個(gè)節(jié)點(diǎn)的指針。Observation就是一個(gè)node。在接受通知的時(shí)候也是從頭節(jié)點(diǎn)開(kāi)始,經(jīng)過(guò)next指針找到下一個(gè)node,順序處理事件的。

解決方案:調(diào)整兩個(gè)任務(wù)的初始化順序,保證AccountTask早于BusinessTask即可。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容