我在使用iOS离线SDK打包后上传审核被拒,说我的app含有热更新相关功能,请问这个要怎么处理?有办法去掉热更新模块吗?使用的SDK版本是Uniapp_iOS_SDK_v5.26,podfile依赖如下
uniapp_subspecs = [
'Core',
'CameraGallery',
'File',
'Orientation',
'XMLHttpRequest',
'Canvas',
'Log',
'Oauth',
'Oauth-Wechat-PaySDK',
'Payment',
'Payment-AliPay',
'Payment-Wechat',
'Payment-IAP',
'Share',
'Share-Wechat-PaySDK',
]
App Version
Guideline 2.5.19 - Performance - Software Requirements
Issue Description
An analysis of the submission indicates the app may contain hidden features that could change the app's content and behavior after review. This finding is based on code in the submitted binary and not on a specific screen in the app.
Specifically, we found the app contains remote content-loading infrastructure and an extensive monetization platform beyond the declared image processing functionality.
Next Steps
Take one of the following actions before resubmitting.
- Remove the identified hidden functionality and all code related to it. Developers are responsible for all code included in the binary submission, including code from third-party SDKs and libraries.
- If you believe the app does not include any hidden features, reply to this message, identify the code or component you believe was misidentified, and clarify its intended purpose.
Resources
Learn more about requirements to prevent hidden or undocumented features in guideline 2.5.19.
Support
- Reply to this message in your preferred language if you need assistance. If you need additional support, use the Contact Us module.
- Consult with fellow developers and Apple engineers on the Apple Developer Forums.
- Provide feedback on this message and your review experience by completing a short survey.
3 个回复
Ask小助手
开发者你好,针对iOS离线打包被苹果审核拒绝(Guideline 2.5.19)提示含有热更新功能的问题,根据历史案例和官方文档,可能的原因及处理建议如下:
检查并移除实际的热更新业务代码
请确认项目中是否使用了wgt热更新(如调用相关API下载并安装wgt资源包)。如果使用了,请移除相关业务代码后再重新提交审核。同时,确保提交给App Store审核的包是最新包,且在审核期间不要触发热更新逻辑。参考:热更新与应用商店、ios 审核被拒恳请官方提供一下解决办法2.3.1 2.5.2
处理框架中误判的
hotUpdate关键字苹果审核机制可能会扫描前端资源(如
app-service.js)中的关键字。uni-app前端框架中使用的vuex包含了hotUpdate方法,这可能导致苹果误认为App含有JavaScript热更新下载支持。解决方案:修改HBuilderX安装目录下的vuex源码文件,将
hotUpdate关键字替换掉。HX安装目录\plugins\uniapp-cli\node_modules\vuex\dist\vuex.esm.jshotUpdate,将Store.prototype.hotUpdate = function hotUpdate (newOptions)修改为:Store.prototype[[104,111,116,85,112,100,97,116,101].map(item =>String.fromCharCode(item)).join('')] = function (newOptions)app-service.js中搜索hotUpdate,确认是否还存在该关键字。参考:iOS 离线打包被拒 2.3.1 和 2.5.2关于审核信中提到的“extensive monetization platform”
审核信中还提到“extensive monetization platform beyond the declared image processing functionality”,这可能意味着App中包含的变现相关功能(如广告、支付等)超出了你在App Store Connect中声明的应用用途。请检查App中是否集成了相关的广告或支付SDK,并确保在App Store Connect的“App隐私”和元数据中如实声明这些功能。
由于你使用的是离线SDK打包,前端资源同样是在HBuilderX中生成后集成到Xcode工程的,因此上述针对前端资源的修改方案同样适用。请按照上述步骤排查并修改后重新打包提交。
1***@qq.com (作者)
我并没有启动热更新功能,都是按照sdk默认的来的,然后移除了不需要的模块,但是发现热更新功能代码在DCUniBase.framework里面,被苹果静态扫到的
1***@qq.com (作者)
在打包出来的www资源文件夹下执行 grep -r "hotUpdate" --include="*.js" . 并问发现任何js文件中包含hotUpdate
要回复问题请先登录或注册
公告
更多>相关问题