iOS 上架 审核 全新代码遇到 4.3a

我们这篇文章专门来讲述关于新代码4.3a的问题

为什么全新代码还会导致4.3a?

很多开发者或者公司比较疑惑,认为全新手写的代码根本不会遇到4.3a的问题, 而现实却不尽人意.

这里直接给出答案 : 你认为的新代码并不是苹果的查重指标

什么意思? 
 

uniapp : 


我们以uniapp 为例, 因为这是所有语言中4.3的概率较高的,与之居高不下的就是cocos开发的app

我们来看uniapp的编译产物

1:  一个可执行文件HBbuider
2: 两个动态库 DCloudUTSFoundation.framework,DCUniBase.framework

3: 以及你的vue代码

所有uniapp的编译产物几乎由这三个部分组成, 这无疑造成了一些基础的相似

你写的代码被编译成了什么?  这很重要, 我们看到你的vue代码最终被编译后是什么样子

代码被整和了, 被整和到若干个js文件中, 这其实对苹果来说更是一个资源文件, 这就你无论怎么修改vue代码提交,甚至翻新了整个工程, 还是没有解决4.3的根本原因.

cocos

cocos也是触发4.3a概率最高的语言之一 , 这也是由于编译产物太多相似导致的,而且cocos相对来说更复杂. 我们以cocos3.x为例

我们看到cocos的编译产物非常简洁, 似乎只有一个可执行文件和类似uniapp一样的js文件组成,没有基础的动态库

注意: cocos的可执行文件往往很大, 一个基础的app 可执行文件几乎达到了20M, 模块集成的多可能会更大.  我们来看这么大的可执行文件里面是什么? 


 

我们看到除了一些oc文件, 还有很多c++文件, 没错, 这就是cocos引擎代码, 因为他是静态库的存在, 最终被编译到可执行文件中, 造成了可执行文件相似度极高

随便对比两个不相关的cocos开发的app,可执行文件相似度高达97%, 这无疑是要4.3a打回的

在众多语言中cocos的处理4.3的难度最高, 因为需要出引擎库进行处理, 这无疑是非常复杂的. 没有经验的开发者, 似乎难以找到问题, 更别说着手处理4.3

我们来重点说一下flutter

因为flutter目前还是开发app使用率最高的语言, 因为他几乎没有什么缺点,  flutter无论从开发的角度, 还是编译产物, 还是整体的设计, 是我最满意的, 因为他不会给开发者造成太大的困扰.  而且非常轻量级,  不像uniapp那么固话,  也不像cocos那么死板

flutter的编译产物非常的清晰,明了 

这里有两个重要的动态库
1: flutter.framework  这是flutter引擎库,每个工程都会集成, 不同的版本 导致这个库会有少许差距

2: app.framework  这里存放的就是你的dart代码.

那么其他的动态库就是你在开发过程中使用的一些三方插件

我们主要来观察可执行文件

我们发现非常小只有上百k, 这几乎是空的, fluter的设计非常好, 这个文件是空的, 就不会给我们增加基础相似

说了半天,那么flutter的新代码造成的4.3的原因是啥? 

关注我,下篇文章我们来详细讲解flutter的新代码遇到的4.3问题,  

遇到4.3,就找我, 不走弯路

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值