iOS 4.5.5版本 被拒绝!!!! "App Rejected : non-public APIs"
今天上午收到邮件说是被拒绝了
原文是


这一版本 我就添加一个购买sku的方法, 并没有添加什么库 ,简简单单的一次升级给我出一私有方法拒绝!!!!!
在xcode8 iOS10 刚出来 ,苹果新规则进一步丰富,出现这种意外的问题 一定不只我一个,的确 我在stack over flow 上面 找到了同病相怜的人

他的意思也表达很明确 是说 都更新好几版了都没问题,现在说我用了私有方法,其实并没有.
一位热心同行 告知,使用命令行 能找到 项目中以私有方法为关键字的全部文件和方法
我也是这么做的
操作如下
(1)在工程目录下,操作
grep -R 'cancelAction:' * 或者
grep -R 'defaultInstance' *
点击回车看结果
(2)其实有很多冗余输出,其实第一步先要删除 工程文件build里面的全部文件 再执行(1)
(3) 的确有输出

在CrashReporterSDK 中 竟然"matches"了, 然后我查了工程中这个 CrashReporterSDK.framework 没有被用到, 估计是被替代的框架却在当时没有删除, 于是我做了直接删除的处理
其次"cancelAction:"输出了几处项目代码段,正如苹果文件里面所说,如果项目里面命名和私有方法名称匹配,建议你也要好好重新起名字,避免带来不必要的后果(拒绝你呗 当你是私有方法).
所以 这个关键字段相关的代码 我都改了一遍.
再次输入两段命令行 输出都是 No such file or directory , 放心了.
总结分析:
1 . 苹果审核 再一次加严 , 甚至命名和私有方法一样 也不可以了,至少 官方建议你这样, 所以严格执行开发命名规范吧.
2 . 这次比较意外 是一次不错的经验教训的总结
3 . 如果再次被拒绝 那我就再写博客铭记每一次的痛...
4. 关键 现在 我没找到 苹果审核拒绝私有api的命名 列表, 虽然 我不用,但是我至少可以避免往坑里跳啊 如果 大家有相关建议欢迎写评论 告知
我只查到
- 2.5.1 Apps may only use public APIs. Learn more about public APIs. 没看见私有相关说明,如果还是有 命名冲突,那岂不是很倒霉,并且是官网审核拒绝,而不是你打包的时候就被判定无效,还得挨着一两天审核的忐忑小心脏, 这个 大家有什么好的建议?????欢迎写评论告知
参考:
https://developer.apple.com/app-store/review/guidelines/#software-requirements
http://stackoverflow.com/questions/39405016/ios-app-rejected-non-public-apis
iOS 4.5.5版本 被拒绝!!!! "App Rejected : non-public APIs"的更多相关文章
- wzplayer for ios 针对(mms)优化版本V1.0
wzplayer for ios针对mms优化版本发布. 1.支持mms,http,rtmp,rtsp等协议 2.支持全格式 下载地址:http://www.coolradio.cn/WzPlayer ...
- iOS 制作发布证书,发布到App Store
---恢复内容开始--- 1.登陆 iOS Dev Center 选择进入iOS Provisioning Portal. 2.在 iOS Provisioning Portal中,点击App IDs ...
- Xamarin.iOS - 利用Settings插件与EAIntroView制作App的欢迎界面
Xamarin.iOS - 利用Settings插件与EAIntroView制作App的欢迎界面 关于欢迎界面 很多App第一次启动都会有一个欢迎界面,欢迎界面往往决定这用户对App的第一映像,所以欢 ...
- iOS利用Application Loader打包提交到App Store时遇到错误The filename 未命名.ipa in the package contains an invalid character(s). The valid characters are:A-Z ,a-z,0-9,dash,period,underscore,but the name cannot start w
iOS利用Application Loader打包提交到App Store时遇到错误: The filename 未命名.ipa in the package contains an invalid ...
- iOS 8及以后版本 如何创建UIAlertView?
1. Important: UIAlertView is deprecated in iOS 8. (Note that UIAlertViewDelegate is also deprecated. ...
- iOS-获取Model(设备型号)、Version(设备版本)、app(程序版本)等
IOS-获取Model(设备型号).Version(设备版本).app(程序版本)等 NSLog(@"uniqueIdentifier: %@", [[UIDevice curre ...
- iOS自定义弹出视图、收音机APP、图片涂鸦、加载刷新、文件缓存等源码
iOS精选源码 一款优秀的 聆听夜空FM 源码 zhPopupController 简单快捷弹出自定义视图 WHStoryMaker搭建美图(贴纸,涂鸦,文字,滤镜) iOS cell高度自适应 有加 ...
- iOS remote debug & Android remote debug & Chrome & APP
iOS remote debug & Android remote debug & Chrome & APP iOS remote debugging 如何在 iOS 真机上调 ...
- IOS小组件(8):App与Widget数据共享
引言 Widget是一个迷你版的App,IOS有沙盒机制,不同App之间无法直接共享数据.组件和主App之间其实就是不同App的关系,所以也无法通过userdefaults.standard来传数 ...
随机推荐
- oracle 数据查询
1,读取从今天到1个月前之间的数据select * from tablewhere column between add_months(sysdate, -1) and sysdate;
- Unity3D 移动开发代码优化
1. 尽量避免每帧处理 比方: function Update() { DoSomeThing(); } 可改为每5帧处理一次: function Update() { if(Time.frameCo ...
- vSphere共享存储全配置流程
1.Openfiler的安装 Openfiler 由rPath Linux驱动,它是一个基于浏览器的免费网络存储管理实用程序,可以在单一框架中提供基于文件的网络连接存储 (NAS) 和基于块的存储区域 ...
- Tomcat运行流程
Connector介绍 1.1 Connector的种类 Tomcat源码中与connector相关的类位于org.apache.coyote包中,Connector分为以下几类: Http Conn ...
- Android APK反编译就这么简单 具体解释
在学习Android开发的过程你.你往往会去借鉴别人的应用是怎么开发的,那些美丽的动画和精致的布局可能会让你爱不释手,作为一个开发人员.你可能会非常想知道这些效果界面是怎么去实现的,这时,你便能够对改 ...
- Ant Design使用问题记录
公司的测试管理平台前端使用的是Ant Design of React框架,后台使用的是python,数据库用的是mysql.没有参与前期的开发,听说是工作了10年积累下来的一个暂且可用的管理平台,开发 ...
- C#中的Form,textBox,Bitmap,PictureBox,Button,WebBrowser
因为今天是用的家里的电脑,用的不是retena屏的mac,因此稍后截图的时候大家看到的图片可能会有一些模糊,还请大家海涵... 兄弟们,我胡汉三又回来啦! 以下開始我们的第一个C#程序.我们之前已经通 ...
- 一道Google面试题——基数排序思想
题目描述: 一个大小为n的数组,里面的数都属于范围[0,n-1],有不确定的重复元素,找到至少一个重复元素,要求O(1)空间和O(n)时间. 算法分析: 这个题目要求用O(n)的时间复杂度,这意味着只 ...
- 【BZOJ2799】[Poi2012]Salaries 乱搞
[BZOJ2799][Poi2012]Salaries Description 给出一棵n个结点的有根树,结点用正整数1~n编号.每个结点有一个1~n的正整数权值,不同结点的权值不相同,并且一个结点的 ...
- HashMap和ConcurrentHashMap的区别,HashMap的底层源码。
Hashmap本质是数组加链表.根据key取得hash值,然后计算出数组下标,如果多个key对应到同一个下标,就用链表串起来,新插入的在前面. ConcurrentHashMap:在hashMap的基 ...