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来传数 ...
随机推荐
- iOS Socket/Tcp编程 GCDAsyncSocket的实战(带回调)
很多同学一听到Socket TCP UDP 这几个字眼感觉特别害怕,很怕在工作当中使用,因为他们太底层了.下面我把我在工作中使用Socket类库GCDAsyncSocket进行一次实战 文章中只适用于 ...
- iOS多线程(转)
关于iOS多线程,你看我就够了 字数8596 阅读28558 评论74 喜欢313 在这篇文章中,我将为你整理一下 iOS 开发中几种多线程方案,以及其使用方法和注意事项.当然也会给出几种多线程的案例 ...
- centos6.5下redis集群配置(多机多节点)
可参考官网文档:redis集群配置 需要注意的是,集群中的每个节点都会涉及到两个端口,一个是用于处理客户端操作的(如下介绍到的6379/6380),另一个是10000+{监听端口},用于集群各个节点间 ...
- 集合映射Set(使用xml文件)
如果持久类具有Set对象,可以在映射文件中使用set元素映射Set集合. set元素不需要索引元素. List和Set之间的区别是: Set只存储唯一的值. 我们来看看我们如何在映射文件中实现集合: ...
- 支付宝热补丁技术— AndFix原理[阿里Hao]
本文由嵌入式企鹅圈原创团队成员.阿里资深project师Hao分享. 上次我们介绍了用dexposed方案实施热补丁的原理.它本质上就是hook要改动的函数.这样一来在正式版本号公布时就不能直接拿热补 ...
- centos7 virtualbox使用internal network 内网模式
1)打开对应虚拟机的Settings,点开Network, 2)Adapter1如果已经选了挂到Bridged Adapter,则点开Adapter2, 3)选择挂到 Internal Network ...
- Linq to SQL 语法查询(子查询 & in操作 & join )
var 子查询 = from c in ctx.Customers where (from o in ctx.Ord ...
- ASP.NET动态网站制作(27)-- 三层框架(1)
前言:今天主要介绍一下三层框架,给大家一个整体的概念.分层概念使得程序低耦合,更加健壮,扩展性更好. 内容: 1.三层: UI(表现层):主要是指与用户交互的界面.用于接收用户输入的数据和显示处理后用 ...
- YOLO2解读,训练自己的数据及相关转载以供学习
https://pjreddie.com/darknet/yolo/ 具体安装及使用可以参考官方文档https://github.com/pjreddie/darknet https://blog.c ...
- 线程中sleep和wait区别
sleep和wait的区别有: 1,这两个方法来自不同的类分别是Thread和Object 2,最主要是sleep方法没有释放锁,而wait方法释放了锁,使得敏感词线程可以使用同步控制块或者方法. 3 ...