iOS uniapp 4.3a 被拒【已上架】

​ ​ 最近uniapp 开发的APP 提审被拒4.3 概率飙升 客户解释说 : 全新手写代码提审 4.3a 无论是uniapp 还是futter, 都属于跨平台开发, 都有一些基础库. 这些库的基础代码很有可能是 全新手�

最近uniapp 开发的APP 提审被拒4.3 概率飙升


客户解释说 : 全新手写代码提审 4.3a



无论是uniapp 还是futter, 都属于跨平台开发, 都有一些基础库. 这些库的基础代码很有可能是 全新手写代码还会导致4.3的原因


详细解析: 



我们来对比两个毫不相关的ipa应用 的文件构成



从这张动态库引用对比图, 可以看出相似度极高



我们继续对比静态特征

两个毫不相关的APP的静态特征 竟高达 100多个.



我们继续做一个可执行文件深入对比



非常可怕, 两个毫无相关的APP, 动态链接序列竟然达到29个



那么经过以上综合对比, 你的新写的uniapp 应用,出现4.3的概率将非常大, 这也不并不是苹果的错误, 因为你和人家太像了




那么如何去解决呢?  难道直接修改uniapp 基础库? 

1: 难度大

2: 风险大

3: 多个app可能需要维护多个基础库

从以上三点说明修改基础库并不现实



我们可以换个角度来处理这个问题

无论是什么样的基础库, 还是什么语言开发的iOS应用最终都被编译成可执行文件, 动态库, 和一些其他琐碎文件


了解了这个原理, 还有一个前提, 就是大部分uniapp开发者, 都试用的是云打包, 也就是说,你的代码最终有uniapp框架负责生成ipa, 你无法干预, 这也是导致uniapp 4.3概率极大的原因之一


我们首先要从云打包的方式,切换成本地打包,这样我们才能进行干涉, uniapp 开发者可能对本地打包比较陌生, 那么官方给了一个本地打包的完整说明


从xbuider中你会找到这个按钮, 链接到一个官方网址: 


你首先要重新配置你的xocde工程, 才能继续我们的下一步处理方案




在处理之前: 首先你要了解uniapp的编译产物, 哪些代码被编译到了可执行文件中, 哪些代码被编译到了动态库. 你的资源文件又以什么样的形式集成到ipa中.





我们来看, 可执行文件中到底有哪些内容:


我们使用otool 命令从可执行文件中提取的类文件,  这些更像是一些三方库, 并且是oc语言编写,但是这文件并不是可执行文件中的全部内容,

因为我们从文件的大小就可以判定, 这个类文件加起来只有几百k, 和可执行文件的14.2M 有较大差距, 那么其他都是些什么东西呢? 


我们继续使用size命令查看可执行文件组成


你是否发现了什么? 



经过仔细分析ipa包,  我给客户出了一套方案, 于五月一日过审



找到我, 我们可以一起探讨这个问题, 同样可以对你的app做出分析, 大家一起解决



返回技术博客 · 返回首页 · 服务价格