iOS上架被拒原因及解决办法
简单的记录一下,近期APP上架所遇到的坑爹事儿吧!!
第一次提交:
第二天给了回复,内容如下:
、Guideline 2.5. - Performance - Software Requirements Your app uses the "prefs:root=" non-public URL scheme, which is a private entity. The use of non-public APIs is not permitted on the App Store because it can lead to a poor user experience should these APIs change. Continuing to use or conceal non-public APIs in future submissions of this app may result in the termination of your Apple Developer account, as well as removal of all associated apps from the App Store. Next Steps To resolve this issue, please revise your app to provide the associated functionality using public APIs or remove the functionality using the "prefs:root" or "App-Prefs:root" URL scheme. If there are no alternatives for providing the functionality your app requires, you can file an enhancement request.
这是因为公司项目已经近1年没有更新了,很多访问私有API的地方没有进行删除,我接手项目对里面的代码也不太清楚,直接上传了,结果悲剧了。。。。。
解决办法如下:在xcode内进行全局搜索“prefs”
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs:root=LOCATION_SERVICES"]];
换成下面的
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:UIApplicationOpenSettingsURLString]];
提醒:注释掉也不行,苹果机审仍然会检查到,直接进行删除或替换掉。
第二次提交:
结果如上,仍然有API存在(这叫一个郁闷啊~明明全局已经搜索完了,为啥还会有私有API存在。)后来在网上搜索一下,才发现第三方库中也有使用私有API的情况。
在终端下依次执行如下代码进行搜索私有API.
cd 工程目录
grep -r prefs .(注意此处有个点.)
grep -r App-Prefs .
grep -r GraphicsServices .
果然:真有存在的情况,这个TZImagePickerController第三方库中有"prefs"存在。
那就好办了:cocoapods进行更新TZImagePickerController版本。
第三次提交:
第二天一早就收到了苹果的回复邮件,当时满心欢喜的去登录App Store Connect,可是一打开,傻眼了,这是什么鬼。竟然收到了传说中的2.1大礼包。
Guideline 2.1 - Information Needed This type of app has been identified as one that may violate one or more of the following App Store Review Guidelines. Specifically, these types of apps often: 1.1. - Include false information, features, or misleading metadata.
2.3. - Undergo significant concept changes after approval
2.3. - Have hidden or undocumented features, including hidden "switches" that redirect to a gambling or lottery website
3.1. - Use payment mechanisms other than in-app purchase to unlock features or functionality in the app
4.3. - Are a duplicate of another app or are conspicuously similar to another app
5.2. - Were not submitted by the legal entity that owns and is responsible for offering any services provided by the app
5.3. - Do not have the necessary licensing and permissions for all the locations where the app is used
此时,不用慌,凡事儿总会有解决的办法,就仔细审查了一下,后来询问过开发大佬后,才知道这未必就是你项目中的问题,如果确定项目中没有以上问题,你直接回复苹果审核团队就行了。
尊敬的苹果审核团队:
感谢您对我们的App耐心审核, 对于您提到的我们可能违反的其中11个审核条款, 我们的研发团队经过认真自查和研究, 我们现在对此回复如下: 1.1.:我们绝对没有包含任何的虚假信息和误导用户的功能,全都是真实的。
2.3.:我们没有在通过后修改任何概念和功能。
2.3.:我们没有切换到任何赌博或彩票的网站。
3.1.:我们没有使用应用程序内购买以外的支付机制解锁应用程序中的功能或功能
3.2.; 我们没有使用任何贷款业务。
4.3.:我们的APP内容不存在抄袭或大量相似。
5.2.:我们的App并没有法人实体和版权的风险。
5.2.:我们的app并没有进行非法文件共享,或包括从第三方来源保存、转换或下载媒体的能力
5.3.:我们的App定位功能在用户首次安装时会以弹窗的形式提醒用户,请点击“允许”以允许访问。若不允许,APP”将无法获取定位当前位置。
希望苹果审核团队能继续审核,谢谢。 Dear Apple Review Team:
Thank you for your patience in reviewing our App (). Our R&D team has carefully examined and studied of the audit terms you mentioned that we may violate. We now reply as follows: 1.1.: We absolutely do not contain any false information and misleading user functions, all are true.
2.3.: We haven't changed any concepts and functions after adoption.
2.3.: We haven't switched to any gambling or lottery websites.
3.1.: We do not use payment mechanisms other than in-app purchases to unlock functions or functions in applications.
3.2.; We did not use any loan business.
4.3.: Our APP content is not plagiarized or largely similar.
5.2.: Our App has no legal entity or copyright risk.
5.2.: Our app does not have illegal file sharing, or includes the ability to save, convert or download media from third-party sources.
5.3.: Our App Location function reminds users when they first install it in the form of a pop-up window. Please click "Allow" to allow access. If not, APP will not be able to locate the current location.
I hope the Apple Audit Team can continue to audit. Thank you.
第四次提交:
这就开始了一段漫长时间的等待,APP一直处于等待审核状态,针对2.1大礼包,网上云说亦云,各种说法,有的等待了三两周,有的等了三两月。。。。我就准备先等待一周看看情况再决定,然后每天给苹果审核团队发一封邮件催他们,反正我有的是时间,就发呗!!!结果等到了第五天早晨手机叮的一声儿~~~收到一封邮件,我饭都么吃,赶紧打开邮件。苹果尼玛~~~怎么又给我拒绝了?
Guideline 2.1 - Information Needed We were unable to sign in to review your app with the demo account information you provided. In order for us to review your app, please provide us with a functional demo account so that we may fully assess your app's features. Next Steps To help us proceed with the review of your app, please provide a user name and password in the App Review Information section for your app in App Store Connect. Please be sure to include content in your app that demonstrates the features and functionality available in your app. To provide demo account information: - Log in to App Store Connect
- Click "My Apps"
- Select your app
- Click on the app version on the left side of the screen
- Scroll down to "App Review Information"
- Select the "Sign-in required" box
- Enter demo credentials in the "User name" and "Password" fields
- Once you've completed all changes, click the "Save" button at the top of the Version Information page.
百度翻译一下:原来说我提审的账号密码错误,我就无语了,尼玛之前提交也没有说登录不上去啊!!!闲的蛋疼了吗?这不是没事找事儿吗?
吐槽一番之后,也没办法,谁让苹果是粑粑呢,只好老老实实的给回复邮件,并上传了一段演示视频。
现在等结果吧!!
iOS上架被拒原因及解决办法的更多相关文章
- iOS 上架被拒原因保存
一.后台一直在获取用户的定位,需要给用户电池消耗提示 Your app uses the Location Background mode but does not include the requi ...
- jquery ajax success 函数 异步调用方法中不能给全局变量赋值的原因及解决办法
jquery ajax success 函数 异步调用方法中不能给全局变量赋值的原因及解决办法 在调用一个jquery的ajax方法时我们有时会需要该方法返回一个值或者给某个全局变量赋值,可是我们 ...
- 各种编码问题产生原因以及解决办法---------响应编码,请求编码,URL编码
响应编码 产生原因以及解决办法: 示例: package cn.yzu; import java.io.IOException; import javax.servlet.ServletExcept ...
- .Net内存泄露原因及解决办法
.Net内存泄露原因及解决办法 1. 什么是.Net内存泄露 (1).NET 应用程序中的内存 您大概已经知道,.NET 应用程序中要使用多种类型的内存,包括:堆栈.非托管堆和托管堆.这里我们需 ...
- Oracle死锁产生的原因和解决办法
如果有两个会话,每个会话都持有另一个会话想要的资源,此时就会发生死锁.用下面实验来说明死锁的产生原因和解决办法.SESSION1:SQL> create table t2 as select * ...
- HttpClient的CircularRedirectException异常原因及解决办法
HttpClient的CircularRedirectException异常原因及解决办法 这两天在使用我自己爬虫抓取网页的时候总是出现 org.apache.http.client.ClientPr ...
- php_curl.dll libssh2.dll 始终无法加载的原因 及解决办法
在StackOverflow得到最终原因及解决办法 http://stackoverflow.com/questions/16424117/php-unable-to-load-php-curl-dl ...
- mysql保存中文乱码的原因和解决办法
当你遇到这个mysql保存中文乱码问题的时候,期待找到mysql保存中文乱码的原因和解决办法这样一篇能解决问题的文章是多么激动人心. 也许30%的程序员会选择自己百度,结果发现网友已经贴了很多类 ...
- eclipse中tomcat发布失败(Could not delete May be locked by another process)原因及解决办法
在eclipse中tomcat发布项目时,偶尔出现了以下情况: publishing to tomcat v7.0 services at localhost has encountered a pr ...
随机推荐
- HDU 3080 The plan of city rebuild(除点最小生成树)
题意 一个城市原来有l个村庄 e1条道路 又添加了n个村庄 e2条道路 后来后销毁了m个村庄 与m相连的道路也销毁了 求使全部未销毁村庄相互连通最小花费 不能连通输出what a pity ...
- virtualenv使用说明
创建虚拟环境virtualenv [虚拟环境名称] 如:virtualenv ENV 启动虚拟环境 cd ENV source ./bin/activate 注意此时命令行会多一个(ENV),ENV为 ...
- jprofiler_监控远程linux服务器的JVM进程(转 非常棒)
几天前写了一篇文章,jprofiler_监控远程linux服务器的tomcat进程(实践),介绍了使用jprofiler怎样监控远程linux的tomcat进程,这两天想了想,除了可以监控tomcat ...
- 使用jQuery lazyload 实现图片延迟加载
下载地址 使用说明 0. 准备工作 下载jQuery和lazyload 插件(地址如上) 1. HTML 引入jQuery库和lazyload插件 <div id="imagesCon ...
- 用javascript复制富文本
由于项目需求,希望能够用javascript复制富文本格式的数据,例如全选一个网页Ctrl+C, Ctrl+V到一个word文档中,数据还是原来的格式,显示出来的样子也都和原来一样.现在希望使用jav ...
- EasyNVR depends on ffmpeg,yasm/nasm not found or too old. Use --disable-yasm for a crippledbuild
安装ffmpeg过程中,执行./configure时,报yasm/nasm not found or too old. Use --disable-yasm for a crippledbuild错误 ...
- 通知url必须为直接可访问的url,不能携带参数 异步接收微信支付结果通知的回调地址 不能携带参数。 回调地址后是否可以加自定义参数 同步回调地址 异步回调地址 return_url和notify_url的区别
[微信支付]微信小程序支付开发者文档 https://pay.weixin.qq.com/wiki/doc/api/wxa/wxa_api.php?chapter=9_7 通知url必须为直接可访问的 ...
- Centos中查询目录中内容命名ls(六)
首先解释下这块, root代表当前登录用户,localhost代表主机名, ~代表当前主机目录,#代表用户权限 #表示超级用户,$表示普通用户: 查询目录中内容命令 ls (list缩写) 格式 l ...
- Java中volatile关键字实现原理
原文地址http://www.cnblogs.com/xrq730/p/7048693.html,转载请注明出处,谢谢 前言 我们知道volatile关键字的作用是保证变量在多线程之间的可见性,它是j ...
- HNOI2019爆零记
HNOI2019真-爆零祭 我怎么这么菜QAQ day-37 从学科溜过来搞OI. 班主任一直在谈论我退役的事情,这就是NOIP挂分的后果...说我没考好就找理由,人家xxxxxxx可不是xxxxxx ...