美文网首页
项目遇到的问题

项目遇到的问题

作者: AndyYaWei | 来源:发表于2021-03-03 16:42 被阅读0次

一、包体大小不一致问题?

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

一、打开http://ios.meitu-int.com/ipa/mtxx/queue

image.png
二、Mac OS下查看:选中下载好的ipa包->右键->显示简介->大小
image.png
三、Windows下:选中下载好的ipa包->右键->属性->大小
image.png
切记:查看包大小以实物(下载ipa)大小为准(即:上图红框内的为准)

二、Xcode12和Xcode12.1适配的问题?

对于屏幕适配遵循了历史代码的适配方式:使用UIScreen.main.currentMode获取手机的物理像素判断不同的机型进行适配。

问题出现的原因:以iPhone12 Pro Max为例来说,
Xcode12 打包时iPhone12 Pro Max 取出的物理像素为1242* 2688px(这个是iPhone11 Pro Max的物理像素)
Xcode12.1 打包时iPhone12 Pro Max 取出的物理像素为1284* 2778px(这个才是iPhone12 Pro Max的真实物理像素)
1242* 2688px是做过适配的展示高度为348pt
1284* 2778px未做过适配展示高度使用了默认的254pt,故显示过低。
同理iPhone12 Pro未做过适配展示高度使用了默认的254pt

解决方案:增加对新机型iPhone12 Pro、iPhone12 Pro Max的做屏幕适配(Xcode12.1)

三、账号退出后,商业化sdk还能获取到uid?

分析:账号退出,各个sdk再去获取用户信息应该是nil,这才是正常的流程。
因此分别去商业sdk、大账号sdk初始化位置看了一眼,发现都有注册observer来接受logout的通知,但是商业sdk初始化早于大账号sdk初始化,这样的话退出账号时商业sdk会先得到通知,然而商业化sdk内部在接受到退出登录的通知后还有一个获取uid的操作,这不就有问题了么。
结果这么一分析,问题就清晰了。observer的存储结构实际上是一个单向链表。一个结构体 Observation 包含了一个observer(观察者)、selector(该观察者需要执行的方法) 、以及指向下一个节点的指针。Observation就是一个node。在接受通知的时候也是从头节点开始,经过next指针找到下一个node,顺序处理事件的。

解决方案:调整两个任务的初始化顺序,保证AccountTask早于BusinessTask即可。

相关文章

  • 项目遇到的问题

    关于stack around the variable “” was corrupted问题

  • 项目遇到的问题

    一、包体大小不一致问题? iOS正确查看ipa包大小方式:以查看App Store的正式包为例: 一、打开http...

  • 搜索项目遇到的问题

    一、ajax发送多次请求的问题 点击一次按钮,通过控制台发现会发送多次请求,当你多点几次,就会呈指数增长,直接卡死...

  • 项目中遇到的问题

    mySql常用类型: int:整型 默认长度11 10位长度 double:浮点型,例如double(5,2)表...

  • js 项目遇到的问题

    1. 动态添加H5标签, 使用jQuery给动态添加的标签绑定click事件不响应 解决方案参考链接:jquery...

  • 项目中遇到的问题

  • 项目中遇到的问题

    1.判断是安卓还是IOS 2.怎么渲染数据 3.子组件怎么获取子组件的属性 1.图二是在子组件上怎么接受父组件传来...

  • 项目中遇到的问题

    1. vue-cli 文件的作用 index.html 和App.vue都是指同一个页面,App.vue中是组价...

  • 项目中遇到的问题

    数据解析问题: 由于后台返回的数据是一串字符串,而不是JSON格式.所以需要我们自己处理.数据格式是这样的:key...

  • 项目中遇到的问题

    1.页面之间进行跳转后回到原始页面,页面布局整体下移64px/44px个高度? 查阅了一些资料后,说要设置这个属性...

网友评论

      本文标题:项目遇到的问题

      本文链接:https://www.haomeiwen.com/subject/vhlmwktx.html