由于个推和bugly热更新导致苹果审核被拒

简介: 提交审核后被拒,苹果回复的信息如下:Guideline 2.5.2 - Performance Your app, extension, or linked framework appears to contain code designed explicitly with the capability toGuideline 2.

提交审核后被拒,苹果回复的信息如下:

Guideline 2.5.2 - Performance Your app, extension, or linked framework appears to contain code designed explicitly with the capability to

Guideline 2.5.2 - Performance

Your app, extension, or linked framework appears to contain code designed explicitly with the capability to change your app’s behavior or functionality after App Review approval, which is not in compliance with App Store Review Guideline 2.5.2 and section 3.3.2 of the Apple Developer Program License Agreement.This code, combined with a remote resource, can facilitate significant changes to your app’s behavior compared to when it was initially reviewed for the App Store. While you may not be using this functionality currently, it has the potential to load private frameworks, private methods, and enable future feature changes. This includes any code which passes arbitrary parameters to dynamic methods such as dlopen(), dlsym(), respondsToSelector:, performSelector:, method_exchangeImplementations(), and running remote scripts in order to change app behavior and/or call SPI, based on the contents of the downloaded script. Even if the remote resource is not intentionally malicious, it could easily be hijacked via a Man In The Middle (MiTM) attack, which can pose a serious security vulnerability to users of your app.Next StepsTo resolve this issue, please perform an in-depth review of your app and remove any code, frameworks, or SDKs that fall in line with the functionality described above and resubmit your app’s binary for review.

看到邮件我没有着急去百度和去翻译,而是先看看英文说的什么,利用我的四级水平基本可以看懂了,他说“你在app审核通过后,还会改变你app 的行为”,说白了不就是使用了热更新了么,我知道项目中没有用到热更新的东西,所有马上我就想到一定是第三方库中含有。 

但是为了避免我的项目中无意间用到了,所以按照苹果的要求,全局搜索了一下邮件中说的方法,

dlopen    dlsym 没有用到

 respondsToSelector  performSelector 用到了,但是都是些正常的使用  没有什么问题

method_exchangeImplementations    AFNetworking 用到了一处,没有影响的,不影响审核

到这里基本排除了自己写的代码中含有热更新的东西。

之后就是第三方的库了


img_f383ae47357ebb838a83edeff1b0ce59.png
所有的第三方平台都在这里

使用到热更新的就是bugly 和 老版本的个推 其他没有问题

去bugly 官网没有看到新版本,所以我就在项目中将bugly移除了  也不用了。用了也不好使,bugly平台的数据都不好好维护了。 

个推升级到最新版本就ok了。

img_294ce5e89a37925c45d063238d23923a.png
注意UserNotifications.framework 是弱引用的 添加的时候记得勾选后面的选项
目录
相关文章
|
存储 消息中间件 Kafka
ClickHouse 23.8 (LTS) 版本发布说明
以下是ClickHouse 23.8 (LTS) 版本一些亮点功能...这次发布涵盖了向量的算术运算、tuple的连接、cluster/clusterAllReplicas的默认参数、从元数据中计数(对于Parquet来说速度提高了5倍)、文件内跳数(对Parquet有巨大提升)、从对象存储中流式消费数据,等等
|
存储 自然语言处理 API
LlamaIndex使用指南
LlamaIndex是一个方便的工具,它充当自定义数据和大型语言模型(llm)(如GPT-4)之间的桥梁,大型语言模型模型功能强大,能够理解类似人类的文本。LlamaIndex都可以轻松地将数据与这些智能机器进行对话。这种桥梁建设使你的数据更易于访问,为更智能的应用程序和工作流铺平了道路。
4496 0
|
算法 C语言 C++
C++ std::chrono库使用指南 (实现C++ 获取日期,时间戳,计时等功能)(一)
C++ std::chrono库使用指南 (实现C++ 获取日期,时间戳,计时等功能)
4253 1
|
9月前
|
iOS开发 开发者 MacOS
深入探索iOS开发中的SwiftUI框架
【10月更文挑战第21天】 本文将带领读者深入了解Apple最新推出的SwiftUI框架,这一革命性的用户界面构建工具为iOS开发者提供了一种声明式、高效且直观的方式来创建复杂的用户界面。通过分析SwiftUI的核心概念、主要特性以及在实际项目中的应用示例,我们将展示如何利用SwiftUI简化UI代码,提高开发效率,并保持应用程序的高性能和响应性。无论你是iOS开发的新手还是有经验的开发者,本文都将为你提供宝贵的见解和实用的指导。
285 66
|
监控 安全 网络协议
【网络工程师必备神器】锐捷设备命令大全:一文在手,天下我有!
【8月更文挑战第22天】锐捷网络专攻网络解决方案,其设备广泛应用在教育、政府及企业等领域。本文汇总了锐捷设备常用命令及其应用场景:包括登录与退出设备、查看系统状态、接口与VLAN配置、路由与QoS设定、安全配置及日志监控等。通过示例如telnet/ssh登录、display命令查看信息、配置IP地址与VLAN、设置静态路由与OSPF、限速与队列调度、端口安全与ACL、SNMP监控与重启设备等,助力工程师高效管理与维护网络。
1001 4
|
人工智能 安全 API
Unity优化——加速物理引擎1
Unity优化——加速物理引擎1
270 0
|
前端开发 JavaScript PHP
Visual Studio Code的使用心得与常用免费插件使用技巧大全总结 老板夸奖我是开发小能手!
这就是我一直在使用的免费代码编辑神器, 它的优点太多了, 有: 智能感知、代码调试、内置 Git 命令、可扩展和可定制都相当牛,最关键的是免费开源!!
709 3
Visual Studio Code的使用心得与常用免费插件使用技巧大全总结 老板夸奖我是开发小能手!
|
网络安全 数据安全/隐私保护
【已解决】mac端 sourceTree 解决remote: HTTP Basic: Access denied报错
又是在一次使用sourcetree拉取或者提交代码时候,遇到了sourcetree报错; 排查了一会,比如查看了SSH keys是否有问题、是否与sourcetree账户状态有问题等等,最终才发现并解决问题
|
Go 调度 C#
Unity——协程(Coroutine)
Unity——协程(Coroutine)
653 0
|
SQL Java Maven
使用阿里云的 flink-connector-clickhouse 插件
使用阿里云的 flink-connector-clickhouse 插件
1173 2

热门文章

最新文章