├── LocationBackground.md ├── Picture ├── DataModel.m ├── VPN_American_ipv6.png ├── VPN_ybb.png ├── ads_select_reject.png ├── cost detail.png ├── custDetailMiaoshulist.png ├── custdetailExample.png ├── hide_some_content.png ├── howToSolve.png ├── ipv6_1.png ├── ipv6_2.png ├── jiaqun.jpeg ├── jiaqun2.png ├── jiaqun_1.png ├── offensive │ ├── howtoHide.png │ ├── offensive_1.png │ └── offensive_2.png ├── selectimage │ ├── cannotSelectimage.png │ ├── cannotSelectimageSolve.png │ └── cannot_select.png ├── small_image │ ├── five_stars.png │ ├── four_stars.png │ └── recommend.png ├── superpay.png ├── wifi_arrow.png ├── 小猫理财.jpg ├── 民生理财.jpg ├── 电池描述.png └── 群满了还有人加.png ├── README.md ├── add_select_error.md ├── app_crash.md ├── app_dowload_slow.md ├── app_not_associate.md ├── cannot_select_file.md ├── howtosolve.md ├── ipv6.md ├── ipv6支持其他的资料仅供参考 ├── 6Plat-46-mac │ ├── 6plat.tblk │ │ ├── 6plat.ovpn │ │ ├── connected.sh │ │ └── post-disconnect.sh │ ├── README.txt │ └── Tunnelblick_3.6.3_build_4560.dmg ├── AFNetwork.zip ├── GCDAsyncSocket.zip ├── IMG_20160626_191140.jpg ├── IPV6(1).docx ├── IPV6.docx ├── IPV6解决办法—(群主-兰敏).pages ├── IPv6兼容解决方案.docx.qqdownload ├── IP地址测试.zip ├── IP地址测试 │ ├── IP地址测试.xcodeproj │ │ ├── project.pbxproj │ │ ├── project.xcworkspace │ │ │ ├── contents.xcworkspacedata │ │ │ └── xcuserdata │ │ │ │ ├── ZXF.xcuserdatad │ │ │ │ └── UserInterfaceState.xcuserstate │ │ │ │ └── hlh.xcuserdatad │ │ │ │ └── UserInterfaceState.xcuserstate │ │ └── xcuserdata │ │ │ ├── ZXF.xcuserdatad │ │ │ └── xcschemes │ │ │ │ ├── IP地址测试.xcscheme │ │ │ │ └── xcschememanagement.plist │ │ │ └── hlh.xcuserdatad │ │ │ └── xcschemes │ │ │ ├── IP地址测试.xcscheme │ │ │ └── xcschememanagement.plist │ └── IP地址测试 │ │ ├── AppDelegate.h │ │ ├── AppDelegate.m │ │ ├── Assets.xcassets │ │ └── AppIcon.appiconset │ │ │ └── Contents.json │ │ ├── Base.lproj │ │ ├── LaunchScreen.storyboard │ │ └── Main.storyboard │ │ ├── Info.plist │ │ ├── ViewController.h │ │ ├── ViewController.m │ │ └── main.m ├── UIKit+AFNetworking.zip ├── 一个关于网络数据申请的测试] 2.zip.qqdownload ├── 屏幕快照 2016-07-11 上午9.42.31.png └── 苹果App IPv6-only送审通关一站式解决方案-201600719 -no price(1).pdf ├── my_idear_of_ipv6.md ├── no_nonsume_decription.md ├── purchase_wechatLoginSharePay.md ├── sex_offensive.md ├── wait to do.md └── 本仓库介绍 ├── fir.im Weekly - 可能是 iOS 审核最全面的解决方案.webarchive └── 飞行日志.webarchive /LocationBackground.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | #📣问题: 后台定位被拒 4 | 5 | **苹果邮件描述**
苹果被拒邮件内容:
your app declares support for location in the UIBackgroundModes key in your Info.plist
file but still does not declare any features that require persistent location. Apps that declare support for
location in the UIBackgroundModes key in your Info.plist file must have features that require persistent location.
Next Steps
Please revise your app to include features that require the persistent use of real-time
location updates while the app is in the background. Please also add the following battery use disclaimer in
your Application Description:
"Continued use of GPS running in the background can dramatically decrease
battery life."
If your app does not require persistent real-time location updates, please remove the
"location" setting
from the UIBackgroundModes key. You may wish to use the significant-change location
service or the region
monitoring location service if persistent real-time location updates are not required for your app features. 6 | 7 | ##解决方案: 8 | 1)如果你的应用根本不需要使用后台定位,根本不需要定位功能,但是还是在.info.plist 里面添加了 location in the
UIBackgroundModes key ,那么在plist文件里面移除 UIBackgroundModes key 就可以,这中情况较少,新手小白会犯这种错误

2)如果你的应用使用了后台定位模式,而且你的应用只需要短暂的获取少数的用户的位置,比如美团,新闻类的应用需要
获得当前用户的所在城市,,这种情况没必要使用后台定位,这种情况使用后台定位被拒绝,只需要去掉.plist 的文件中的UIBackgroundModes

3)你的应用真的需要使用后台定位,比如考勤打卡类的应用,需要跟踪货车车司机的实时位
置,或者跑步软件之类的应用,那么你不能只是实时获取到用户的无数的定位点传到服务器,而APP没有任何界面展示这些定位数据,这种情况苹果会回复`如果没有使用必
要使用后台定位需要移除.plist的UIBackgroundModes key ,如果真的需要后台定位需要more feature(更多细节)`,这些更多细节怎么实现?大家观察
appstore 的可以使用后台定位的软件,基本上有一个共同的特点,他们后台定位的数据要么有一个绘制的轨迹,或者有一个界面展示出所有定位的点,具体详情可以参考
红圈营销(考勤类的app),他们后台定位的点用tableView 展示出来了,每一个cell就是一个定位的数据,这些数据包含定位的地点(比如北京市天安门2号楼),时间到
几分几秒.所以如果你想实现后台定位功能也需要通过表格或者轨迹展示出后台定位的数据,**再提交审核的时候告诉苹果那个功能需要后台定位**,具体展示后台定位的
数据在那个界面,最后需要`Continued use of GPS running in the background can dramatically decrease
battery life`加到app描述里
面,可以参考滴滴出行的描述,否则也会被拒绝

3.1)最近有一哥们因为需要把订单准确的投放给用户,然后确定用户当前就是在订单投放的范围内才能收到一
条推送,需要使用后台定位,被拒绝了几次了,现在他想了一个方案,做一个导航,然后那个backgroundmode就能通过了。然后那个定位的问题也能用了,这也是一种可
以试试的方案,后续会持续跟踪他的解决方案 ,将是否有效告诉大家,最后验证是通过审核了,中间苹果发了邮件要这个哥们告诉在哪里使用了定位,这哥们回了就通过了,这也是一种实现思路**总之如果想使用第三种方式解决问题,一定让苹果感觉你有必要使用后台定
位,而不是偷偷地把定位点发给服务器,其他的啥界面啥功能都没有,增加轨迹(学跑步软件),增加列表显示定位数据(学红圈营销),增加导航也可以,有`界面`和功能让苹
果感觉你真的需要使用后台定位功能,提交的时候一定要告诉苹果那个功能使用了后台定位**

4)如果让用户可以使用后台定位,又不想展示定位数据,就用企业
证书发布,企业签名的ipa发布到蒲公英或者fir.im平台,让用户下载,这样就可以绕过苹果的审核,放肆的使用后台定位了,此方法只适合用户量在3W以下的app,超过3W的用户量
这么干会被封企业证书,更多企业证书相关的问题参考我的博客:[企业账号科普15问15答和交流](http://www.jianshu.com/p/33f037e41cfb),我负责维护的另外一个
付费的考勤类的app ,为了绕过苹果后台定位审核,另外一个项目比较忙,不想花更多时间在这个付费的考勤类的app上,就是用的企业账号发布的,从此愉快的开启后台定位

5)还有一种方案和老板或者产品经理聊聊,app 是不是一定得要后台定位这个功能,这个功能用户不喜欢,后台持续定位涉及隐私和耗电,我看到至少有3例最后是老板妥协了,主动放弃后台定位的功能

6)可以先传一个不带后台定位的版本,再慢慢解决后台定位的问题,这样只是少一个后台定位的功能,其他的功能用户还可
以正常使用,作为缓兵之计这个方案也是可行的 9 | 10 | ____ 11 | -------------------------------------------------------------------------------- /Picture/DataModel.m: -------------------------------------------------------------------------------- 1 | // 2 | // DataModel.m 3 | // 新闻 4 | // 5 | // Created by gyh on 16/3/2. 6 | // Copyright © 2016年 apple. All rights reserved. 7 | // 8 | 9 | #import "DataModel.h" 10 | 11 | @implementation DataModel 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /Picture/VPN_American_ipv6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhichengfalv/Solve-App-Store-Review-Problem/331b0ae164ee974c07410759b3688dbb8ec0a8d2/Picture/VPN_American_ipv6.png -------------------------------------------------------------------------------- /Picture/VPN_ybb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhichengfalv/Solve-App-Store-Review-Problem/331b0ae164ee974c07410759b3688dbb8ec0a8d2/Picture/VPN_ybb.png -------------------------------------------------------------------------------- /Picture/ads_select_reject.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhichengfalv/Solve-App-Store-Review-Problem/331b0ae164ee974c07410759b3688dbb8ec0a8d2/Picture/ads_select_reject.png -------------------------------------------------------------------------------- /Picture/cost detail.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhichengfalv/Solve-App-Store-Review-Problem/331b0ae164ee974c07410759b3688dbb8ec0a8d2/Picture/cost detail.png -------------------------------------------------------------------------------- /Picture/custDetailMiaoshulist.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhichengfalv/Solve-App-Store-Review-Problem/331b0ae164ee974c07410759b3688dbb8ec0a8d2/Picture/custDetailMiaoshulist.png -------------------------------------------------------------------------------- /Picture/custdetailExample.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhichengfalv/Solve-App-Store-Review-Problem/331b0ae164ee974c07410759b3688dbb8ec0a8d2/Picture/custdetailExample.png -------------------------------------------------------------------------------- /Picture/hide_some_content.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhichengfalv/Solve-App-Store-Review-Problem/331b0ae164ee974c07410759b3688dbb8ec0a8d2/Picture/hide_some_content.png -------------------------------------------------------------------------------- /Picture/howToSolve.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhichengfalv/Solve-App-Store-Review-Problem/331b0ae164ee974c07410759b3688dbb8ec0a8d2/Picture/howToSolve.png -------------------------------------------------------------------------------- /Picture/ipv6_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhichengfalv/Solve-App-Store-Review-Problem/331b0ae164ee974c07410759b3688dbb8ec0a8d2/Picture/ipv6_1.png -------------------------------------------------------------------------------- /Picture/ipv6_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhichengfalv/Solve-App-Store-Review-Problem/331b0ae164ee974c07410759b3688dbb8ec0a8d2/Picture/ipv6_2.png -------------------------------------------------------------------------------- /Picture/jiaqun.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhichengfalv/Solve-App-Store-Review-Problem/331b0ae164ee974c07410759b3688dbb8ec0a8d2/Picture/jiaqun.jpeg -------------------------------------------------------------------------------- /Picture/jiaqun2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhichengfalv/Solve-App-Store-Review-Problem/331b0ae164ee974c07410759b3688dbb8ec0a8d2/Picture/jiaqun2.png -------------------------------------------------------------------------------- /Picture/jiaqun_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhichengfalv/Solve-App-Store-Review-Problem/331b0ae164ee974c07410759b3688dbb8ec0a8d2/Picture/jiaqun_1.png -------------------------------------------------------------------------------- /Picture/offensive/howtoHide.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhichengfalv/Solve-App-Store-Review-Problem/331b0ae164ee974c07410759b3688dbb8ec0a8d2/Picture/offensive/howtoHide.png -------------------------------------------------------------------------------- /Picture/offensive/offensive_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhichengfalv/Solve-App-Store-Review-Problem/331b0ae164ee974c07410759b3688dbb8ec0a8d2/Picture/offensive/offensive_1.png -------------------------------------------------------------------------------- /Picture/offensive/offensive_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhichengfalv/Solve-App-Store-Review-Problem/331b0ae164ee974c07410759b3688dbb8ec0a8d2/Picture/offensive/offensive_2.png -------------------------------------------------------------------------------- /Picture/selectimage/cannotSelectimage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhichengfalv/Solve-App-Store-Review-Problem/331b0ae164ee974c07410759b3688dbb8ec0a8d2/Picture/selectimage/cannotSelectimage.png -------------------------------------------------------------------------------- /Picture/selectimage/cannotSelectimageSolve.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhichengfalv/Solve-App-Store-Review-Problem/331b0ae164ee974c07410759b3688dbb8ec0a8d2/Picture/selectimage/cannotSelectimageSolve.png -------------------------------------------------------------------------------- /Picture/selectimage/cannot_select.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhichengfalv/Solve-App-Store-Review-Problem/331b0ae164ee974c07410759b3688dbb8ec0a8d2/Picture/selectimage/cannot_select.png -------------------------------------------------------------------------------- /Picture/small_image/five_stars.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhichengfalv/Solve-App-Store-Review-Problem/331b0ae164ee974c07410759b3688dbb8ec0a8d2/Picture/small_image/five_stars.png -------------------------------------------------------------------------------- /Picture/small_image/four_stars.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhichengfalv/Solve-App-Store-Review-Problem/331b0ae164ee974c07410759b3688dbb8ec0a8d2/Picture/small_image/four_stars.png -------------------------------------------------------------------------------- /Picture/small_image/recommend.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhichengfalv/Solve-App-Store-Review-Problem/331b0ae164ee974c07410759b3688dbb8ec0a8d2/Picture/small_image/recommend.png -------------------------------------------------------------------------------- /Picture/superpay.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhichengfalv/Solve-App-Store-Review-Problem/331b0ae164ee974c07410759b3688dbb8ec0a8d2/Picture/superpay.png -------------------------------------------------------------------------------- /Picture/wifi_arrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhichengfalv/Solve-App-Store-Review-Problem/331b0ae164ee974c07410759b3688dbb8ec0a8d2/Picture/wifi_arrow.png -------------------------------------------------------------------------------- /Picture/小猫理财.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhichengfalv/Solve-App-Store-Review-Problem/331b0ae164ee974c07410759b3688dbb8ec0a8d2/Picture/小猫理财.jpg -------------------------------------------------------------------------------- /Picture/民生理财.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhichengfalv/Solve-App-Store-Review-Problem/331b0ae164ee974c07410759b3688dbb8ec0a8d2/Picture/民生理财.jpg -------------------------------------------------------------------------------- /Picture/电池描述.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhichengfalv/Solve-App-Store-Review-Problem/331b0ae164ee974c07410759b3688dbb8ec0a8d2/Picture/电池描述.png -------------------------------------------------------------------------------- /Picture/群满了还有人加.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhichengfalv/Solve-App-Store-Review-Problem/331b0ae164ee974c07410759b3688dbb8ec0a8d2/Picture/群满了还有人加.png -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # ipv6被拒绝,后台定位被拒绝,免费的终极解决方案,苹果审核被拒绝了如何取解决,大家齐心协力让天下没有解决不了的问题! 2 | 3 | 文中有不妥的欢迎提issue或者去审核问答群找群主反馈,我会重视每一个意见! 4 | 最近本仓库被广大网友star,每一个star的网友github账号我都看得到,在此表示谢谢!你们的关注和star我会坚持更新! 5 | **appstore 审核遇到有问题欢迎给我提issue 或者咨询appstore审核问答群,问问题请复制苹果拒绝英文描述到群,更方便别人帮助解答,
** 6 | >appstore审核问答群①369250107,500+人,付费一元入群(正因为收费1元,这里无广告,都是真iOS开发,纯讨论审核技术的QQ群),前500人都是免费加入的,后面之所以收费是买了QQ超级会员升级群上限到2000人才收费,审核问答②群467449800(免费入群) 7 | 8 | 9 | 10 | 11 | 为了给大家升级群上限人数到2000人 需要给马化腾钱的,228元/每年,所以才收1块钱,取之于大家,用之于大家,所以请大家谅解,不想花一块钱的 ,加群467449800(免费入群) 12 | # 敬请右上角Star,你的star是我持续更新的动力,(据说star的人,提交都过了 哈哈哈😃~~~)谢谢 13 | ###### 开玩笑的,祝大家都早日通过,免得老板天天催催......! 14 | ### 2016年10月换了工作,平时比较忙了,QQ群里大家在互相帮助在..,特别是付费群里面的技术氛围比较好...(1元入群费都交给马化腾了😁) 15 | # 目录: 16 | ## 技巧: QQ群问问题 技巧 17 | [技巧][app被拒绝了,如何解决,(QQ群问问题之前必看,授人以鱼不如授人以渔)))](https://github.com/wg689/Solve-App-Store-Review-Problem/blob/master/howtosolve.md) 18 | 19 | ## ipv6 相关 (从菜鸟到ipv6解决入门 需要阅读 本文档三遍 ) 20 | [审核][ipv6 被拒绝最全的拒绝解决方案(QQ群至少有20位ipv6被拒绝了,都是用这个方案解决了)](https://github.com/wg689/Solve-App-Store-Review-Problem/blob/master/ipv6.md) 21 | 22 | - 1.[苹果ipv6被拒绝邮件描述汇总](https://github.com/wg689/Solve-App-Store-Review-Problem/blob/master/ipv6.md#%E8%8B%B9%E6%9E%9Cipv6%E8%A2%AB%E6%8B%92%E7%BB%9D%E9%82%AE%E4%BB%B6%E6%8F%8F%E8%BF%B0%E6%B1%87%E6%80%BB) 23 | 24 | - 2.[如何判断是因为ipv6被拒绝?](https://github.com/wg689/Solve-App-Store-Review-Problem/blob/master/ipv6.md#%E5%A6%82%E4%BD%95%E5%88%A4%E6%96%AD%E6%98%AF%E5%9B%A0%E4%B8%BAipv6%E8%A2%AB%E6%8B%92%E7%BB%9D 25 | ) 26 | 27 | - 3.[如何适配ipv6?](https://github.com/wg689/Solve-App-Store-Review-Problem/blob/master/ipv6.md#%E5%A6%82%E4%BD%95%E9%80%82%E9%85%8Dipv6 28 | ) 29 | 30 | - 4.[检查服务器是否支持ipv6及服务器如何修改](https://github.com/wg689/Solve-App-Store-Review-Problem/blob/master/ipv6.md#12%E6%A3%80%E6%9F%A5%E6%9C%8D%E5%8A%A1%E5%99%A8%E6%98%AF%E5%90%A6%E6%94%AF%E6%8C%81ipv6%E8%BF%99%E6%98%AF%E4%B8%80%E4%B8%AA%E5%A4%A7%E9%97%AE%E9%A2%98%E5%95%8A) 31 | 32 | - 5.[iOS10 下ipv6被拒绝怎么办?](https://github.com/wg689/Solve-App-Store-Review-Problem/blob/master/ipv6.md#15-ios10-%E4%B8%8B%E9%9D%A2-ipv6%E8%A2%AB%E6%8B%92%E7%BB%9D%E6%80%8E%E4%B9%88%E5%8A%9E) 33 | 34 | 35 | 36 | 37 | - 6.[ipv6多次被拒后的怎么办?自己搭建的ipv6是好的还是被拒绝怎么办?(顺序操作哦)](https://github.com/wg689/Solve-App-Store-Review-Problem/blob/master/ipv6.md#q%E4%BA%8Cipv6%E5%A4%9A%E6%AC%A1%E8%A2%AB%E6%8B%92%E5%90%8E%E7%9A%84%E6%80%8E%E4%B9%88%E5%8A%9E%E8%87%AA%E5%B7%B1%E6%90%AD%E5%BB%BA%E7%9A%84ipv6%E6%98%AF%E5%A5%BD%E7%9A%84%E8%BF%98%E6%98%AF%E8%A2%AB%E6%8B%92%E7%BB%9D%E6%80%8E%E4%B9%88%E5%8A%9E%E9%A1%BA%E5%BA%8F%E6%93%8D%E4%BD%9C%E5%93%A6 38 | ) 39 | 40 | - 7.[实在搞不定ipv6怎么办?(对ipv6无计可适的时候可以考虑)](https://github.com/wg689/Solve-App-Store-Review-Problem/blob/master/ipv6.md#q%E4%B8%89%E5%AE%9E%E5%9C%A8%E6%90%9E%E4%B8%8D%E5%AE%9Aipv6%E6%80%8E%E4%B9%88%E5%8A%9E%E5%AF%B9ipv6%E6%97%A0%E8%AE%A1%E5%8F%AF%E9%80%82%E7%9A%84%E6%97%B6%E5%80%99%E5%8F%AF%E4%BB%A5%E8%80%83%E8%99%91 41 | ) 42 | - 8.[Appstore审核指南2017年9月 苹果官方中文版](https://developer.apple.com/app-store/review/guidelines/cn/?from=timeline&isappinstalled=0 43 | ) 44 | 45 | 46 | 47 | 48 | 49 | [🖐ipv6] [博主对ipV6的看法](https://github.com/wg689/Solve-App-Store-Review-Problem/blob/master/my_idear_of_ipv6.md) 50 | 51 | ## 其他常见审核被拒绝问题 52 | [审核][后台定位被拒绝的终极解决方案(6种情况说明,让天下没有解决不了的后台定位问题)](https://github.com/wg689/Solve-App-Store-Review-Problem/blob/master/LocationBackground.md) 53 | 54 | [审核][iOS10出来了上传版本需要使用xcode8吗?](https://github.com/wg689/Solve-App-Store-Review-Problem/blob/master/no_nonsume_decription.md) 55 | [审核][什么情况下才需要下载安装xcode8?](https://github.com/wg689/Solve-App-Store-Review-Problem/blob/master/no_nonsume_decription.md) 56 | 57 | 58 | 59 | [审核][没有填写耗电的描述被拒绝,怎么写?哪儿写?](https://github.com/wg689/Solve-App-Store-Review-Problem/blob/master/no_nonsume_decription.md) 60 | 61 | [审核][广告勾选错误被拒](https://github.com/wg689/Solve-App-Store-Review-Problem/blob/master/add_select_error.md) 62 | 63 | [审核][app崩溃(Crash)问题被拒绝](https://github.com/wg689/Solve-App-Store-Review-Problem/blob/master/app_crash.md) 64 | 65 | [问题][app下载速度很慢的问题啊,我们上线的应用下载好慢?](https://github.com/wg689/Solve-App-Store-Review-Problem/blob/master/app_dowload_slow.md) 66 | 67 | [问题][提交审核无法选择文件](https://github.com/wg689/Solve-App-Store-Review-Problem/blob/master/cannot_select_file.md) 68 | 69 | 70 | 71 | [审核][卖商品不想走内购怎么办?(内购被拒绝)](https://github.com/wg689/Solve-App-Store-Review-Problem/blob/master/purchase_wechatLoginSharePay.md) 72 | 73 | [审核][微信支付,登陆,分享没安装微信,提示下载微信被拒绝)](https://github.com/wg689/Solve-App-Store-Review-Problem/blob/master/purchase_wechatLoginSharePay.md) 74 | 75 | [审核][注册功能被拒绝原因分析和解决方案,审核认为没必要提前让用户注册](https://github.com/wg689/Solve-App-Store-Review-Problem/blob/master/purchase_wechatLoginSharePay.md#%E9%97%AE%E9%A2%98%E8%A2%AB%E6%8B%92%E7%BB%9D%E6%B3%A8%E5%86%8C%E5%8A%9F%E8%83%BD) 76 | 77 | [审核][有objectionable(反感的讨厌的) and offensive(不愉快的)被拒绝](https://github.com/wg689/Solve-App-Store-Review-Problem/blob/master/sex_offensive.md) 78 | ## 审核奇巧淫技(广泛使用 会被发现,发现概率 小于3% ) 79 | [问题][如何隐藏部分功能](https://github.com/wg689/Solve-App-Store-Review-Problem/blob/master/sex_offensive.md#%E9%97%AE%E9%A2%98%E5%A6%82%E4%BD%95%E9%9A%90%E8%97%8F%E9%83%A8%E5%88%86%E5%8A%9F%E8%83%BD) 80 | 81 | 82 | 83 | # 其他 84 | 85 | [**app审核指南中英文对照版**](http://appstore.icewindtech.com) 86 |
苹果审核的电话:14089961010,被拒绝了不用想着去给苹果打电话,网上的电话打过去是不解决审核问题的,笔者以前打过,审核问题只有他们心情好的时候,给你打电话你接听,你无法因为被拒了主动联系到苹果审核人员! 87 |
88 | # 敬请Star,你的star是我持续更新的动力,谢谢 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | -------------------------------------------------------------------------------- /add_select_error.md: -------------------------------------------------------------------------------- 1 | ____ 2 | 3 | #广告勾选错误被拒,一妹纸提交审核的时候,苹果问是否有广告,结果这妹纸想以后可能有广告,勾选了,结果被拒了 4 | 5 | **苹果邮件描述**
苹果被拒邮件内容:
We found that your app uses the Advertising Identifier but does not include ad functionality. This does not comply with the terms of the Apple Developer Program License Agreement, as required by the App Store Review Guidelines.
Specifically, section 3.3.12 of the Apple Developer Program License Agreement states:
”You and Your Applications (and any third party with whom you have contracted to serve advertising) may use the Advertising Identifier, and any information obtained through the use of the Advertising Identifier, only for the purpose of serving advertising. If a user resets the Advertising Identifier, then You agree not to combine, correlate, link or otherwise associate,
either directly or indirectly, the prior Advertising Identifier and any derived information with the reset Advertising Identifier."
If your app is serving ads, please:
- Ensure that you have tested your app on a device, not just the simulator, and that you have removed all previous versions of your app prior to testing
- Provide us the steps to locate ads in your app
If your app does not serve ads, please check your code - including any third-party libraries - to
remove any instances of:
class: ASIdentifierManager
selector: advertisingIdentifier
framework: AdSupport.framework
If you are planning to incorporate ads in a future version, please remove the Advertising Identifier from your app until you have included ad functionality.
To help locate the Advertising Identifier, use the "nm" tool. For information on the "nm" tool, please see the nm man page.
If you do not have access to the libraries' source, you may be able to search the compiled binary using the "strings" or "otool" command line tools. The "strings" tool lists the methods that the library calls, and "otool -ov" will list the Objective-C class structures and their defined methods. These
techniques can help you narrow down where the problematic code resides. 6 | 7 | ##解决方案: **app没有做广告,是否有广告的勾,就不要打勾了如图片中所示,重新上传!** 就可解决 8 | 9 | 10 | ____ -------------------------------------------------------------------------------- /app_crash.md: -------------------------------------------------------------------------------- 1 | 2 | ____ 3 | #📣问题:app崩溃(Crash)问题 4 | 5 | **苹果邮件描述**
6 | Thank you for your response. 7 | After reviewing your reply, it seems your question would be best addressed by Apple Developer Technical Support , who can provide discrete code-level assistance. (你的问题最好提交给通过苹果工程师解决) 8 | To ensure the DTS engineers can best help you, be sure to include any available symbolicated crash logs, screenshots, or steps to reproduce the issues encountered in your request.(为了更好的保证工程师帮助你,你需要提供崩溃日志,截图,重现问题的步骤) 9 | For information on how to read or symbolicate a crash log, please see Tech Note TN2151 Understanding and Analyzing iPhone OS Application Crash (关于如何阅读崩溃日志参考ech Note TN2151 Understanding and Analyzing iPhone OS Application Crash) 10 | by:王员外,8824766 11 | ##解决方案: 12 |
如上英文所述:你的问题最好提交给通过苹果工程师解决,如何联系苹果,网上电话或者邮件,为了更好的保证工程师帮助你,你需要提供崩溃日志,截图,重现问题的步骤,关于如何阅读崩溃日志参考ech Note TN2151 Understanding and Analyzing iPhone OS Application Crash(此文档估计看不懂),如何阅读崩溃日志参考:[iOS崩溃crash大解析](www.jianshu.com/p/1b804426d212),[查看分析崩溃信息](http://www.cocoachina.com/industry/20140514/8418.html) 13 | 14 | 15 | 16 | ____ 17 | -------------------------------------------------------------------------------- /app_dowload_slow.md: -------------------------------------------------------------------------------- 1 | ____ 2 | 3 | #📣问题:app下载速度很慢的问题啊,我们上线的应用下载好慢? 4 | 5 | ##解决方案:过段时间就好了,下载量多了就快了 6 | 今天有个朋友说他的app下载很慢,他说下载其他的不会,就他的会很慢很卡。我心想这东西苹果的我也没办法了呀,不过我心里也想我平时下载挺快的呀。于是就开始试试。搜索了几个app下载发现确实是有快有慢,并且有些app很小但是确没有那些很大的下载快。这就奇怪了,按照网速的毕竟是同一个时间和同一个网要慢的话应该都慢。于是带着问题继续研究,这是为啥呢?还到知乎搜了一圈发现上面的回答都基本是说天朝网络环境问题。 7 | 8 | 然后我就搜索了几个冷门的app 例如《闪现侠》、《个火》,然后开始下载发现这两个app虽然小但是下载速度奇慢无比,再同时下载了一个《美团外卖》发现60M左右一下就下载完了,等美团外卖下载完,前面两个还没有下载完。这时候我就陷入了婶婶的脑海里开始想为啥会这样呢?为啥呢? 9 | 10 | 这难道和bit那种下载有关?于是我开始搜索了《个信》一个曾经风靡一时,但是现在已经被微信拍死在沙滩上面的app,发现下载速度还是杠杠的。这下我似乎明白了他的真正原因了。估计是苹果把更多的带宽分给了一些常用和用户量还可以的app,因为我后面搜索了很多冷门和热门的app下载发现情况就是这样一些不知名的app即使再小也下载很慢。瞬间我的心拔凉拔凉的,这对于一些初创公司来说,他们的app只有沉默在汪洋的大海里面了。对于appstore下载慢的问题大家可以继续讨论,我基本推理应该是这个结论,欢迎知情人士来补充,和验证我上面的结果。 11 | 12 | ____ -------------------------------------------------------------------------------- /app_not_associate.md: -------------------------------------------------------------------------------- 1 | 2 | ____ 3 | #📣问题:app崩溃(Crash)问题 4 | 5 | **苹果邮件描述**
6 | ##描述一 7 | The Vendor Email (xxxxx@gmail.com) associated with your app do not reflect the name, “xxxxxxx Co., LTD.,” in the app or its metadata, as required by section 1.2 of the Apple Developer Program License Agreement. 8 | 9 | Next Steps 10 | 11 | Your app must be published under a Seller name and Artist name that reflects the xxxxxx Co., LTD. brand. If you have developed these apps on behalf of a client, please advise your client to add you to the development team of their Apple Developer account. 12 | 13 | The Seller name is your Vendor Content Provider name in iTunes Connect. For information on how to address this issue, please contact Developer Program Support or by phone. 14 | 15 | The Artist name is the Company name in iTunes Connect. For information on how to address this issue, please contact iTunes Connect Contact Us. 16 | 17 | ##被拒描述二 18 | PLA 1.2 19 | 20 | 21 | The Vendor Email, Support URL, and/or Seller and Artist names associated with your app do not reflect the name, “中金恒信,” in the app or its metadata, as required by section 1.2 of the Apple Developer Program License Agreement. 22 | 23 | Next Steps 24 | 25 | Your app must be published under a Seller name and Artist name that reflects the 中金恒信 brand. If you have developed these apps on behalf of a client, please advise your client to add you to the development team of their Apple Developer account. 26 | 27 | The Seller name is your Vendor Content Provider name in iTunes Connect. For information on how to address this issue, please contact Developer Program Support or by phone. 28 | 29 | The Artist name is the Company name in iTunes Connect. For information on how to address this issue, please contact iTunes Connect Contact Us. 30 | 31 | ##被拒描述三 32 | PLA 1.2 33 | 34 | The Vendor Email, Support URL, and/or Seller and Artist names associated with your app do not reflect the name, “小猫理财,” in the app or its metadata, as required by section 1.2 of the Apple Developer Program License Agreement. 35 | 36 | Next Steps 37 | 38 | Your app must be published under a Seller name and Artist name that reflects the “小猫理财” brand. If you have developed these apps on behalf of a client, please advise your client to add you to the development team of their Apple Developer account. 39 | 40 | The Seller name is your Vendor Content Provider name in iTunes Connect. For information on how to address this issue, please contact Developer Program Support or by phone. 41 | 42 | The Artist name is the Company name in iTunes Connect. For information on how to address this issue, please contact iTunes Connect Contact Us. 43 | ##被拒绝描述四 44 | Chinese name don't have much meaning, just a name, is comprised of several unrelated characters, not like hussein Obama means change. 45 | 46 | 2016年10月19日 上午9:36 47 | 48 | 发件人 Apple 49 | 50 | 0. 10.0 BEFORE YOU SUBMIT: PROGRAM LICENSE AGREEMENT 51 | 52 | PLA 1.2 53 | 54 | The Vendor Email, Support URL, and/or Seller and Artist names associated with your app do not reflect the name, "RF Pay," in the app or its metadata, as required by section 1.2 of the Apple Developer Program License Agreement. 55 | 56 | Next Steps 57 | 58 | Your app must be published under a Seller name and Artist name that reflects the RF Pay brand. If you have developed these apps on behalf of a client, please advise your client to add you to the development team of their Apple Developer account. 59 | 60 | The Seller name is your Vendor Content Provider name in iTunes Connect. For information on how to address this issue, please contact Developer Program Support or by phone. 61 | 62 | The Artist name is the Company name in iTunes Connect. For information on how to address this issue, please contact iTunes Connect Contact Us. 63 | 64 | 65 | ##解决方案: 66 | [Apple Developer Program License Agreement](http://adcdownload.apple.com/Documentation/License_Agreements__Apple_Developer_Program/Apple_Developer_Program_License_Agreement_20160921.pdf), 67 | 68 | 69 | 1、Vendor Email(app 提供商的邮箱,最好和app的名字看起来关系),Support UR app的卖主提供的支持网址:(填公司网址即可,金融类的最好填金融类的,比如中国银行最好填中国银行的网址,不要填和中国银行一点关系都没有的外包公司的网址) 70 | 2、App中相关的内容一定要体现出公司相关的内容,千万不能让苹果审核者以为你这个App和你们公司没什么关系,那肯定会被拒。 71 | 3、把开发者邮箱修改下,里边把名称修改成公司名称 72 | 4,Seller and Artist names 卖app的人(免费下载其实也叫卖,0元卖), 73 | ____ 74 | -------------------------------------------------------------------------------- /cannot_select_file.md: -------------------------------------------------------------------------------- 1 | #📣问题:提交审核无法选择文件 2 | 3 | 4 | 5 | ##解决方案: 6 | - 1)删掉重建应用,修改应用bundleid,重新上传,即可提交!qq群网友提供 的解决方案 7 | - 2) 修改语言为英文或者中文 8 | 这是一个bug,待苹果修复,现在貌似已经修复了 -------------------------------------------------------------------------------- /howtosolve.md: -------------------------------------------------------------------------------- 1 | #📣技巧:app被拒绝了,如何解决,(问问题之前看看,授人以鱼不如授人以渔) 2 | # 敬请右上角Star,你的star是我持续更新的动力,谢谢 3 | 笔者奋战在iOS开发一线,遇到app被拒绝的,一般都是一次修改就可以通过审核,我是如何修改的分享给大家,其实很简单,但是很多人(新手)还是不大会怎么去解决app被苹果拒绝的问题 4 | 5 | 6 | >如果按照本文的方法google翻译了,还是不会请把你的①苹果拒绝的英文描述的内容(不要截图,复制粘贴),②英文描述的google翻译(不推荐百度) ③苹果拒绝的截图(screenshot) 7 | 一定是③样东西(③样东西发出来,别人才能更高效的帮你)发到QQ群,让别人帮你看看怎么解决 8 | ③样东西少了一样 别人帮你的效率就会降低,审核问答②群467449800, 9 | 10 | 11 | 12 | ##教学案例1 13 | ###苹果拒绝描述 14 | 2016年9月8日 上午6:40 15 | 发件人 Apple 16 | 17 | 1. 1 SAFETY: OBJECTIONABLE CONTENT 18 | 4. 1 DESIGN: COPYCATS 19 | 20 | Safety - 1.1.6 21 | Your app's metadata contains misleading content or content that is intended to trick users. 22 | Specifically, your app name is AAAAAA 23 | Next Steps 24 | Please remove or revise any misleading content for your app and its metadata. 25 | Please note, adding a disclaimer to the app description is not sufficient if the rest of the app and its metadata are misleading. 26 | 27 | Since your iTunes Connect Application State is Metadata Rejected, we do NOT require a new binary. To revise the metadata, visit iTunes Connect to select your app and revise the desired metadata values. Once you’ve completed all changes, reply to this message in Resolution Center and we will continue the review. 28 | NOTE: Please be sure to make any metadata changes to all App Localizations by selecting each specific localization and making appropriate changes. 29 | 30 | Design - 4.1 31 | Your app or its metadata contains misleading content. Specifically, your app name leverages AAAAAA. 32 | Next Steps 33 | Please remove or revise any misleading content in your app and its metadata. 34 | 35 | ###根据描述如何解决: 36 | 37 | 上面的内容拿到google 翻译[点击这里去google翻译](https://translate.google.cn/),下面的这个图就是google翻译的,我大致看了下基本上90% 的准确性,翻译还是比较准的,文中的重点红框已经标出,重点如下(按下面的三点继续提交即可) 38 | 39 | - 这个程序的名字有问题, 40 | - 不需要提交新的二进制文件 41 | - 最后还是强调了下是名字的问题 42 | 43 | >如果你google翻译了,还是不会请把你的①苹果拒绝的英文描述,②英文描述的google翻译(不推荐百度) ③苹果拒绝的截图(screenshot) 一定是③样东西(③样东西发出来,别人才能更高效的帮你)发到QQ群,让别人帮你看看怎么解决,③样东西少了一样 别人帮你的效率就会降低 44 | 45 | 46 | 47 | 48 | -------------------------------------------------------------------------------- /ipv6.md: -------------------------------------------------------------------------------- 1 | 2 | # ipv6审核被拒绝的解决方案 3 | ## 目录 4 | 5 | 6 | - 1.[苹果ipv6被拒绝邮件描述汇总](https://github.com/wg689/Solve-App-Store-Review-Problem/blob/master/ipv6.md#%E8%8B%B9%E6%9E%9Cipv6%E8%A2%AB%E6%8B%92%E7%BB%9D%E9%82%AE%E4%BB%B6%E6%8F%8F%E8%BF%B0%E6%B1%87%E6%80%BB) 7 | 8 | - 2.[如何判断是因为ipv6被拒绝?](https://github.com/wg689/Solve-App-Store-Review-Problem/blob/master/ipv6.md#%E5%A6%82%E4%BD%95%E5%88%A4%E6%96%AD%E6%98%AF%E5%9B%A0%E4%B8%BAipv6%E8%A2%AB%E6%8B%92%E7%BB%9D 9 | ) 10 | 11 | - 3.[如何适配ipv6?](https://github.com/wg689/Solve-App-Store-Review-Problem/blob/master/ipv6.md#%E5%A6%82%E4%BD%95%E9%80%82%E9%85%8Dipv6 12 | ) 13 | 14 | - 4.[检查服务器是否支持ipv6及服务器如何修改](https://github.com/wg689/Solve-App-Store-Review-Problem/blob/master/ipv6.md#12%E6%A3%80%E6%9F%A5%E6%9C%8D%E5%8A%A1%E5%99%A8%E6%98%AF%E5%90%A6%E6%94%AF%E6%8C%81ipv6%E8%BF%99%E6%98%AF%E4%B8%80%E4%B8%AA%E5%A4%A7%E9%97%AE%E9%A2%98%E5%95%8A) 15 | 16 | 17 | - 5.[ipv6多次被拒后的怎么办?自己搭建的ipv6是好的还是被拒绝怎么办?(顺序操作哦)](https://github.com/wg689/Solve-App-Store-Review-Problem/blob/master/ipv6.md#q%E4%BA%8Cipv6%E5%A4%9A%E6%AC%A1%E8%A2%AB%E6%8B%92%E5%90%8E%E7%9A%84%E6%80%8E%E4%B9%88%E5%8A%9E%E8%87%AA%E5%B7%B1%E6%90%AD%E5%BB%BA%E7%9A%84ipv6%E6%98%AF%E5%A5%BD%E7%9A%84%E8%BF%98%E6%98%AF%E8%A2%AB%E6%8B%92%E7%BB%9D%E6%80%8E%E4%B9%88%E5%8A%9E%E9%A1%BA%E5%BA%8F%E6%93%8D%E4%BD%9C%E5%93%A6 18 | ) 19 | 20 | - 6.[实在搞不定ipv6怎么办?(对ipv6无计可适的时候可以考虑)](https://github.com/wg689/Solve-App-Store-Review-Problem/blob/master/ipv6.md#q%E4%B8%89%E5%AE%9E%E5%9C%A8%E6%90%9E%E4%B8%8D%E5%AE%9Aipv6%E6%80%8E%E4%B9%88%E5%8A%9E%E5%AF%B9ipv6%E6%97%A0%E8%AE%A1%E5%8F%AF%E9%80%82%E7%9A%84%E6%97%B6%E5%80%99%E5%8F%AF%E4%BB%A5%E8%80%83%E8%99%91 21 | ) 22 | 23 | 24 | 25 | # 苹果ipv6被拒绝邮件描述汇总 26 | (近2个月苹果审核拒绝的app,据笔者估计ipv6占75%以上,内购占10%,其他占15%) 27 | 28 | **被拒的描述1**:
From Apple
2. 1 PERFORMANCE: APP COMPLETENESS
2. 3 PERFORMANCE: ACCURATE METADATA
Performance - 2.1
We were unable to review your app as it crashed on launch. We have attached detailed crash logs to help troubleshoot this issue.
Next Steps
Please revise your app and test it on a device while connected to an IPv6 network (all apps must support IPv6) to ensure it will launch without crashing.
Resources
For additional information about supporting IPv6 Networks, please refer to Supporting IPv6 DNS64/NAT64 Networks and Supporting IPv6-only Networks.
For a networking overview, please see About Networking.
For information on how to symbolicate and read a crash log, please see Tech Note TN2151 Understanding and Analyzing iPhone OS Application Crash Reports.
If you have difficulty reproducing this issue, please try testing the workflow described in Testing Workflow with Xcode's Archive feature.
If you have code-level questions after utilizing the above resources, you may wish to consult with Apple Developer Technical Support. When the DTS engineer follows up with you, please be ready to provide:
- complete details of your rejection issue(s)
- screenshots
- steps to reproduce the issue(s)
- symbolicated crash logs - if your issue results in a crash log

**被拒描述2**:
We discovered one or more bugs in your app when reviewed on iPhone running iOS 9.3.4 on Wi-Fi connected to an IPv6 network.
At launch, the app crashes or display message as “请检查网络连接”.
We've attached screenshot(s) for your reference.
Next Steps
Please run your app on a device while connected to an IPv6 network (all apps must support IPv6) to identify the issue(s), then revise and resubmit your app for review.

**被拒描述3**
We discovered one or more bugs in your app when reviewed on iPad and iPhone running iOS 9.3.4 on Wi-Fi connected to an IPv6 network. Specifically,
we were unable to load the video contents. The loading icon kept spinning. No mote further action was taken.
We've attached screenshot(s) for your reference. 29 |

**被拒的描述4** 发件人 Apple
2. 1 PERFORMANCE: APP COMPLETENESS
2. 3 PERFORMANCE: ACCURATE METADATA
2. 4 PERFORMANCE: HARDWARE COMPATIBILITY
4. DESIGN: PREAMBLE
Performance - 2.1
We discovered one or more bugs in your app when reviewed on iPhone running iOS 9.3.4 on Wi-Fi connected to an IPv6 network. 30 |

**被拒的描述5** 31 | Performance - 2.1 32 | We discovered one or more bugs in your app when reviewed on iPhone running iOS 9.3.4 on Wi-Fi connected to an IPv6 network. 33 |

**被拒的描述6** 34 | Performance - 2.4.1 35 | We noticed that your app did not run at iPhone resolution when reviewed on iPad running iOS 9.3.4. Specifically, we were not able to log in from an iPad as an error message displayed. 36 | We've attached screenshot(s) for your reference. 37 | aNext Steps 38 | Please revise your app to ensure it runs and displays properly at iPhone resolution on iPad. 39 | Resources 40 | For information on iOS device screen sizes and resolutions, please see the iOS Human Interface Guidelines as well as the Points versus Pixels in the View Programming Guide for iOS. 41 | 42 | 43 |

**被拒的描述7** 44 | We discovered one or more bugs in your app when reviewed on iPad and iPhone running** iOS 10.0 **on Wi-Fi connected to an IPv6 network. 45 | Specifically, we were unable to login to the app. The loading icon span indefinitely. 46 | We've attached screenshot(s) for your reference. 47 | Next Steps 48 | 49 | Please run your app on a device while connected to an IPv6 network (all apps must support IPv6) to identify the issue(s), then revise and resubmit your app for review. 50 | If we misunderstood the intended behavior of your app, please reply to this message in Resolution Center to provide information on how these features were intended to work. 51 | For new apps, uninstall all previous versions of your app from a device, then install and follow the steps to reproduce the issue(s). For updates, install the new version as an update to the previous version, then follow the steps to reproduce the issue(s). 52 | **被拒的描述8**....我见过超过10种以上的描述了,我就不贴了,只要苹果拒绝邮件含有ipv6就需要适配ipv6,就需要搭建ipv6 环境测试自己的app 53 | 54 | 55 | ## 如何判断是因为ipv6被拒绝? 56 | - 1只苹果的拒绝邮件含有"ipv6"那么你99.5%需要适配ipv6 , 57 | 58 | - 2"NetWork连接失败,无法登陆,无法加载数据"很有可能需要适配ipv6,为什么?中国6.1号之后80%以上的应用被拒绝都是因为ipv6,ipv6导致的问题是无法连接服务器,所以这种情况你也需要考虑是不是应该适配ipv6 59 | 60 | - 3我见过超过10种以上的描述了,我就不全贴了,本文末尾有超过6种苹果拒绝的描述,描述不一样, 解决方案都一样,都需要支持ipv6 **只要苹果拒绝邮件含有ipv6就需要适配ipv6,就需要搭建ipv6 环境测试自己的app ,拒绝邮件没有包含"ipv6"但是告诉你网络加载失败,加载不出来,登录就崩溃等现象,**如被拒描述6所示!为啥?被拒描述6所示:"说在9.3.4下无法连接",最近啥问题会导致一大片的app无法连接?ipv6 啊,既然有无法连接的问题,是不是该检查下ipv6 是否ok?下面告诉你如何检查! 61 | 62 | ## 如何适配ipv6? 63 | 64 | 65 | ### 一)搭建ipv6环境 66 | 67 | ##### 1.1)搭建ipv6 的测试环境 68 | 69 | 搭建ipv6 环境,搭建好的ipv6 ,环境会有一个共享wifi, 具体如何搭建ipv6测试环境参考[本地如何搭建IPv6环境测试你的APP,需要网线](http://www.jianshu.com/p/632d995749e1),[iOS-用手机网络测试Ipv6,无需网线](http://www.jianshu.com/p/6c7a155fc372)
**如果搭建ipv6 遇到问题,热点连不上,别人教程的选项我没有怎么办?** 70 | 多找找 如何搭建ipv6的帖子(我第一次搭建看了好几篇帖子,试了好几种方法,搭建ipv6环境需要的网络可以是插的网线,也可以是wifi),如果都不行[这里有很多如何搭建ipv6 的文章](http://www.jianshu.com/search?q=ipv6+%E6%90%AD%E5%BB%BA&page=1&type=notes),你需要做的是注意一些细节问题,比如苹果系统是10.11.5 以上,测试的手机最好不是iphon5 以下,笔者亲测iphone5连不上ipv6,是个例还是普遍现象有待进一步考证
71 | **ipv6环境搭建好之后怎么办**
72 | 1️⃣进行测试app之前最好确认好服务器是否支持ipv6(1.2中已告诉你方法了),否则如果你的某个网络请求失败,你怎么去排查问题?请求失败到底是服务器不行还是你的Objective-C代码有问题,这种方法更严谨,时间略多
73 | 2️⃣也有人默认服务器ipv6支持完好,实际上80%以上的用户服务器已经支持好ipv6,少数不支持需要用到1.2中的方法,如果你默认服务器支持良好你可以跳过1.2 ,1.3步骤直接去系统测试你的app 了,实际上很多人这么做app 也上线了.反正现在审核快,不行就拿回来修改再提交,这种不测试服务器的方法不推荐使用,特别是老板很期待版本早日上线的情况下,不要去赌服务器ipv6支持良好! 74 |
75 | ##### 1.2)检查服务器是否支持ipv6(这是一个大问题啊) 76 | 笔者公司用的阿里云,6.8号以后项目上线,服务器一行代码也没就修改项目照常上线,自己公司搭建的和其他小服务器厂商需要重点关注下,比如拍云以前就不支持,现在支持了.如果使用第三方服务器请咨询服务器提供商,是否适配ipv6,自己公司的服务器人员需要怎么修改,询问有时候可以快速获得最佳的答案! 77 |
如果搭建的过程中试了无数的方法,ipv6访问app服务器访问不了,你需要测试下你的服务器是否支持ipv6,怎么验证参考这三篇文章中一篇吧! 78 |

[另外这个网址也可以测试ipv6连接是否正常](http://www.subnetonline.com/pages/ipv6-network-tools/online-ipv6-ping.php),
[ipv6测试](http://test-ipv6.com) 这2个测试可以进行ipv6 测试 大家可以选其中一个试试,理论上两个链接的测试结果一样 79 | ##### 1.3)服务器不支持ipv6,怎么解决(群里面有部分网友问到,此部分内容最好和服务器人员一起研究) 80 | 让服务器开发人员修改到上面的测试ipv6通过为止,如果服务器不会修改怎么办?找专业的人员帮忙,有可能需要购买中专服务,本解决方案的花钱找人帮忙部分有介绍.[关于ipv6审核给你点借鉴](http://my.oschina.net/u/872517/blog/728827)此文介绍了一些服务器如何适配ipv6,需要添加aaaa中转,这种中转有付费和免费的,详情见链接原文!更多关于ipv6的原理,服务器如何支持ipv6,如何花钱让别人使你的服务器是否支持ipv6,请参考[这篇文章](http://mp.weixin.qq.com/s?plg_nld=1&plg_uin=1&mid=2247483863&idx=1&plg_nld=1&scene=23&plg_auth=1&__biz=MzI0NTI4ODA2Mw%3D%3D&plg_dev=1&srcid=0701GkquSx0l7Z6CchTAHFFn&plg_usr=1&plg_vkey=1&sn=622478d2775c5f8835fe1ed16964552e#rd) [CentOS开启IPV6支持,he.net免费隧道方案](http://cuelog.com/archives/541.html),这篇文章介绍了如何查看阿里云是否支持ipv6,CentOS开启IPV6支持,he.net免费隧道方案这篇文章只懂iOS的忽略,请发给公司的服务器人员,这篇文章的内容只适合懂服务器的人员参考. 81 | 82 | 83 | ##### 1.4)用VPN在美国的线路访问服务端(增加通过率的小招,80%左右的app不需要这一步依然可以正常上架,被拒绝了后才推荐这一步) 84 | 理论上上面这些解决方案就足够了,下面的方案不用看了,但是为了通过率再提高提高,实际上上面这些做了还是会有很大的概率被拒绝!为了增加通过率**建议**:用VPN在美国的线路访问服务端试一试,因为有些人在自己搭建的ipv6下可以请求数据,但是在美国的线路访问服务端IPV6无法连接,我知道的有超过5位网友遇到过VPN下美国的线路无法连接服务器,不适用VPN 测试的ipv6 是可以正常连接的. 85 | 86 | ##### 1.5)提供可以在ipv6下 可以ping成功的网址: 87 | 88 | www.solve6.com (可以ping成功) 89 | 90 | 91 | 92 | ### 1.4)app连上搭建好的共享wifi测试你的app,每个界面都点一下! 93 | _____ 94 | 95 | app连上搭建好的共享wifi测试你的app,会发现某些 模块无法连接网络, 更换相应的模块即可,**让测试人员把所有的模块功能都点一下,最好在搭建好的ipv6下使用iOS9.3.0以上的系统测试,苹果审核使用iOS9.3.0以上的系统审核**,这样就会某些模块网络出现无法联网的异常或者崩溃,你按照下面的几个步骤进行适配ipv6 96 | ##### 1.4.1)更换第三方SDk 97 | 需要更换那些SDK 可以参考我的博客 [适配IPV6需要替换的第三方SDK](http://www.jianshu.com/p/afc0b19fd5d3) 98 | 如果你的友盟,shareSDk是6.1号之前集成的,一定要去更换这些SDK,6.1号后,各个SDK提供商(友盟,环信等等)陆续出了最新的SDk适配ipv6
99 | ##### 1.4.2)比较老的网络请求函数(http请求) 100 | 比如使用ASI或者AFN的版本太低,使用最新的AFN即可解决问题 101 |
**注意确认:ipv6 搭建连接是否正确 ?所有功能是否在ipv6下都测试了,app安装在iphon6 以上的机器测试,iphon5 可能连不上ipv6 wifi,搭建ipv6 可以使用mac连接网线和mac连无线,两种方法都可以试试,** 102 | 103 | ##### 1.4.3)socket请求适配ipv6(没有用到socket的同学忽略此条) 104 | QQ群很多同学问socket如何适配ipv6?先科普下什么是socket,socket就是和服务器保持长链接,在聊天,直播弹幕,如果你的socket用的第三方比如:环信,融云,leenCloud等 这种第三方的适配超级简单更换最新版的SDK就行.更换SDK的注意事项参考我的博客[环信SDK更换1小时搞定](http://www.jianshu.com/p/d3d77e089489),注意点:更换SDK前咨询技术客服让你少走弯路,具体原因参考我的博客,这是我的经验之谈.如果你的socket没有用第三方,纯自己写的去适配ipv6,其实也是有办法的,我给你提供几个链接参考:[http://www.jianshu.com/p/a6bab07c4062](http://www.jianshu.com/p/a6bab07c4062),这是网易的某大牛写的,[IPV6的配置](http://www.jianshu.com/p/f3af0de54e76),[ipv6总结](http://www.jianshu.com/p/c106f6256c64)更多文章参考这里[更多文章](http://www.jianshu.com/search?q=socket+ipv6&page=2&type=notes),这几篇文章看完,我相信你对如何适配socket会有一个大致的了解! 105 | ##### 1.4.4) 在ipv6下 哪里网络连接失败就换或者改代码 106 | 107 | ### 1.5) iOS10 下面 ipv6被拒绝怎么办? 108 | 约9.10号之前,苹果审核人员对ipv6测试都是使用iOS9.3.5 左右的版本进行测试,最近iOS10 横空出世,苹果审核人员使用iOS10 的系统进行ipv6测试,如果app 在iOS10下因为ipv6被拒绝了,你需要下载最新的xcode8 (正式版,非beta版,4个G 网速好20分钟可以下完,xip的文件需要解压) [xcode8 苹果官网下载链接](https://developer.apple.com/download/),同时手机升级到最新的iOS10 ,按照本文提供的教程搭建ipv6环境(搭建ipv6环境和xcode,iOS系统版本无关),对你的app在iOS10 的ipv6 下所有功能和界面进行测试,看看app 的功能是否完好,其他的如何修改和本文提供的方法一样,哪里不行改(换)哪里. 109 | 110 | 111 | ## Q:(二)ipv6多次被拒后的怎么办?自己搭建的ipv6是好的还是被拒绝怎么办?(顺序操作哦) 112 | ____ 113 | 如果你的应用已经搭建过ipv6测试环境并且测试修改过,那么你就按照下面的方法解决,如果从来没做过ipv6适配,请参考本方案的开头部分如何适配ipv6,上面的操作完了再继续来这里继续阅读 114 |
115 | ##### 2.1)措施1 116 | - 0)推荐服务器人员验证(把下面两篇文档发给服务器人员) 117 | 118 | [针对苹果官方ipv6审核的综合解决方案](http://www.jianshu.com/p/1223d2ad6f30) 119 | 120 | [用尽洪荒之力解决Apple Store ipv6审核通关---linux服务器支持ipv6](http://www.jianshu.com/p/f0761d51a202) 121 | 122 | - 1)用VPN在美国的线路访问服务端试一试,VPN推荐[鱼摆摆](https://ybb1024.com/),9块钱一个月,有群友可以通过鱼摆摆在VPN美国线路下访问自家的app,虽说鱼摆摆自家的客服说不行 123 | 有些人在自己搭建的ipv6下可以请求数据,但是在美国的线路(审核人员)访问服务端IPV6无法连接,可能是有些服务器开启了防火墙对国外的IP禁止,或者服务端需要添加AAAA或者需要购买ipv6中装服务,我知道的有超过5位网友遇到过:"VPN下美国的线路无法连接服务器,不用VPN "测试的ipv6 是可以正常连接的现象"的".这里有问题你就修复这里的问题重新打包ipa提交,不是Reply哦!,很多人问VPN下选择美国线路搭建ipv6热点怎么弄,我画了一个图,如果你用下面的流程图搭建的ipv6热点,最新版QQ,微信都无法联网,那么搭建的ipv6热点就是有问题的(有些VPN不支持ipv6),否则搭建的热点是没问题的. 124 | 125 | 126 | 搭建VPN美国线路下ipv6的测试环境步骤 127 | - 1.按照本文提供的测试文档搭建ipv6测试环境,wifi上有箭头,手机的DNS是冒号隔开的,另外你搭建的测试环境至少要保证qq,微信通信正常 128 | 129 | - 2.环境搭建好后如果使用的网线,需要安装鱼摆摆(推荐)或者其他的VPN(没用过),需要在鱼摆摆的设置->ipv6 _>菜单显示线路是否支持ipv6,优先使用ipv6 这两个选项勾选才会出现下面的图片所示 130 | 131 | 132 | 133 | 134 | - 3.选择美国线路,手机连上ipv6热点进行测试,**ipv6热点很不稳定有时候明明搭建好了,wifi上有箭头,手机的DNS是冒号隔开的,整个手机所有app都不能联网,这种情况你就需要多试几次搭建的过程或者换环境(公司不行,回家试试,这台电脑不行换同事的电脑,这个网线不行换个网线试试,笔者在家搭建的ipv6链接顺畅,公司搭建的ipv6各种问题)** 135 | 136 | 137 | 138 | - 4上面步骤做完就可以在VPN美国线路下测试ipv6 139 | 140 | 141 | 142 | 143 | 144 | 145 | 146 | 147 | 148 | ##### 2.2)措施2 149 | 措施1中的在VPN下使用美国的线路测试发现ipv6访问服务器一切正常,苹果那边说你没适配ipv6,你拍个视频给审核人员[详情参考这个链接,有详细例子如何拍视频,点击查看](http://www.cocoachina.com/bbs/read.php?tid-1684531.html),[如何录制视频的样例,有几位按照这个录制顺利通过审核](http://v.qq.com/x/page/i03059ch09b.html),最近被人咨询的比较多的问题我回答下: 150 |
**问题:如何拍视频啊?** 151 | 答:拿个安卓或者iOS手机拍摄.个人觉得不应该是录制屏幕,录制屏幕不能很好的反映出你适配ipv6的过程 152 |
**问题:怎么拍** 153 | 答:先拍你搭建环境的过程,ipv6环境搭建好了,wifi有箭头吧,ipv6 的DNS是:隔开的,iPv4 的DNS 154 | 是隔开的,手机正确连接电脑wifi的过程也需要拍摄的,这些标志你搭建ipv6环境搭建成功的画面都需要 155 | 拍,在拍的时候把自己的app所有界面(都可以加载数据)运行良好的状态拍一下 156 |
**问题:拍好的视频怎么传给苹果审核人员?** 157 | 答:拍好的视频传到youtwobe,(不推荐传到优酷,万一美国的审核人员没有耐心等待你的视频加载,又给你打回来 158 | 了,美国访问中国的网速会比中国访问中国的网速要慢) 如果你重新提交新版本,就把链接贴在备注的描述 159 | 下,平时在这个描述里写这个app.如果你的app 你觉得没任何问题,不想再上传ipa包,登录苹果开发者账号 160 | 找到苹果拒绝的描述,这个描述是可以回复的(Reply),在这个Reply里面贴上你的视频链接,写上大致意思 161 | 是:"我真的适配了ipv6,我把适配和测试过程都排了,麻烦你再审一遍"的话,说话一定要诚恳,礼貌,说话一定要诚恳,礼貌,说话一定要诚恳,礼貌,(重要事说三遍)如果是2016年5月以前申诉比重新提交节省4-5天的时间重新进入审核,现在申诉和重新提交进入再次审核的时间区别不大,所以选择重新提交和 162 | Reply 都可以! 163 | ##### 2.3)措施3 164 | 大部分是不需要措施3的,上面的这些做了还是被拒绝怎么办,措施1试过,措施2也试过,还是不管用,我只能建议你继续提交了,stakeoverflow上面有人说,自己测试了都是没问题,怎么苹果还是拒绝,苹果的工程师告诉他你就继续提交吧,这是审核人员的bug,其实这种情况国内的开发者(包括笔者)也遇到过,你明明提供了app的测试账号,他说你没提供,你回复下就好了!他们人工审核也会有失误的时候,只是这个失误被你碰到了!这就是为什么有部分网友啥都没修改,只是在拒绝的描述哪里reply 一下就通过了. 165 | 166 |
**问题:被拒绝后我是Reply还是重新提交呢** 167 |
Reply:是指在开发者中心的苹果拒绝描述的哪里,可以回复苹果,那里是reply 168 | 重新提交:重新填写版本号,重新填写信息,点击提交以供审核按钮. 169 | 当你修改了应用的内容的时候,比如修改了代码,修改了版本号,必须重新提交,提交最好让版本号增加,提交审核网页的中间部分还需要选择你上传的ipa,如果没做任何修改就Reply 一下. 170 | 171 | ## Q:(三)实在搞不定ipv6怎么办?(对ipv6无计可适的时候可以考虑) 172 | ____ 173 | 如果上面的的方案都不能解决,OC或者swift代码部分还是需要各位开发者自己解决,服务器无法解决,你就需要下面专业的人帮你了,好像要收费啊,收费好,既然收了你的钱,人家肯定得有技术支持教你怎么适配吧,当免费方案都不能解决的时候,我只能劝你花点小钱让专业的人员帮忙了,6box肯定有发票吧,买了服务把发票给老板报! 先花299买个7天的服务把app搞上线, 作为公司几百块钱相对于app 能上线是小case!! 174 | [【链接】转给您身边苹果开发者,IPv6被拒如何破?](http://url.cn/2GGkPA5)这是一篇6box很好的教程!屡次被绝拒绝的,可以看看这篇教程! 175 | [IPv6解决办法:](http://www.solve6.com) 专门解决ipv6问题的的网站,**6box专门解决ipv6被拒的问题**推荐下,你付了费给6box,我拿不到任何报酬,我之所以推荐他们是因为他们的服务能帮助开发者,能解决开发者的痛点!
176 | **说了这么多其实可以用一句话总结本方案: 177 | 1)先搭建环境 178 | 2)确保服务器支持ipv6 179 | 3)再把每个界面点一下,观察所有的网络是否有异常,哪里有问题换哪里!,自己实在搞不定就花钱找人帮忙 ** 180 | ## (四)总结 181 | 致此,最全面的ipv6 解决方案诞生了,希望可以帮到大家,喜欢请star,转发!如果本文看了三遍还无法解决你的ipv6问题,请私聊审核问答群的群主,群主(我)1对1帮你解答!就是这么有爱心,哈哈(前提是star要给力喔)! 182 | 183 | 184 | 185 | 186 | 187 | -------------------------------------------------------------------------------- /ipv6支持其他的资料仅供参考/6Plat-46-mac/6plat.tblk/6plat.ovpn: -------------------------------------------------------------------------------- 1 | client 2 | 3 | dev tun 4 | tun-ipv6 5 | 6 | proto udp 7 | 8 | remote 46.6plat.org 9185 9 | 10 | resolv-retry infinite 11 | 12 | nobind 13 | 14 | persist-key 15 | persist-tun 16 | 17 | setenv CLIENT_CERT 0 18 | auth-user-pass 19 | 20 | remote-cert-tls server 21 | 22 | verb 3 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | -----BEGIN CERTIFICATE----- 31 | MIIEqjCCA5KgAwIBAgIJAKrb/zPR210NMA0GCSqGSIb3DQEBCwUAMIGUMQswCQYD 32 | VQQGEwJDTjELMAkGA1UECBMCQkoxCzAJBgNVBAcTAkJKMRMwEQYDVQQKEwo2UGxh 33 | dEdyb3VwMQ4wDAYDVQQLEwU2UGxhdDESMBAGA1UEAxMJNnBsYXQub3JnMRAwDgYD 34 | VQQpEwdFYXN5UlNBMSAwHgYJKoZIhvcNAQkBFhE2cGxhdEBiaWlncm91cC5jbjAe 35 | Fw0xNjA2MDIwNjQ4NTZaFw0yNjA1MzEwNjQ4NTZaMIGUMQswCQYDVQQGEwJDTjEL 36 | MAkGA1UECBMCQkoxCzAJBgNVBAcTAkJKMRMwEQYDVQQKEwo2UGxhdEdyb3VwMQ4w 37 | DAYDVQQLEwU2UGxhdDESMBAGA1UEAxMJNnBsYXQub3JnMRAwDgYDVQQpEwdFYXN5 38 | UlNBMSAwHgYJKoZIhvcNAQkBFhE2cGxhdEBiaWlncm91cC5jbjCCASIwDQYJKoZI 39 | hvcNAQEBBQADggEPADCCAQoCggEBAOZ1JfjeU/o46x4H0NjoCnw8EP/032mN5RQ6 40 | bBMowiGT5mQQLSPJ+LW8/KqVKqI0u6oOm9AHliFeVMzX1hfqGiRT2IhgCVHidh8u 41 | ggy38DOi5gv/QnuC2OcE+LDAEyh22ypeewiOen+SbM3A2b30Bx5vZ8DLLMNLZrGI 42 | b3/Xq8JUzPtNcVIYf352pl26AhQ1TRWdIoC/hbAvX0RCWjP0G2s3gu+iEkPmSC+c 43 | IUJas7PJN/XocJmG+jR3nnGL9m0tnbfcusuXGKdwRfCHIiKMjImglGTvXoREUcA7 44 | Oxb6OZsArfs1mnJ9ngBKg4eNyD9CSnJttdw94YKpw0ztHCOIpg0CAwEAAaOB/DCB 45 | +TAdBgNVHQ4EFgQUBOeFr37Wcw5SXY1R+FhjwdAe2McwgckGA1UdIwSBwTCBvoAU 46 | BOeFr37Wcw5SXY1R+FhjwdAe2MehgZqkgZcwgZQxCzAJBgNVBAYTAkNOMQswCQYD 47 | VQQIEwJCSjELMAkGA1UEBxMCQkoxEzARBgNVBAoTCjZQbGF0R3JvdXAxDjAMBgNV 48 | BAsTBTZQbGF0MRIwEAYDVQQDEwk2cGxhdC5vcmcxEDAOBgNVBCkTB0Vhc3lSU0Ex 49 | IDAeBgkqhkiG9w0BCQEWETZwbGF0QGJpaWdyb3VwLmNuggkAqtv/M9HbXQ0wDAYD 50 | VR0TBAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAQEAa6pVKoXpXIJEXI6zxE877CCi 51 | sxW+H2ttCTF4JuayI0dr8Mq9yFVmUyk1rRQ1wtT/77cxh8EoKWSXg9VKUp59sBhj 52 | zHNz8997WteZT6pxkCpj8Uz+ifPuU1fVcDWekecvj1aR5aodgiuFMHsOcbX39ICS 53 | 6MAY8OXNp6/YHkl5jgJ2Y+5TjVJSUkXU5sWu1O6iTC2OKdGtFq91oS+fir0xG4s6 54 | Px5mb6RGRgYODTOAix4lOMBOJSFu33oZ00ZyFTj7vXr8XZaTv2REjK2vn82OizAL 55 | YHaEvX3ok3FFKvaEBb2AdXXA0digR7iwR3pvdraaSHTQu4pL9jekAwPJgTrSug== 56 | -----END CERTIFICATE----- 57 | -------------------------------------------------------------------------------- /ipv6支持其他的资料仅供参考/6Plat-46-mac/6plat.tblk/connected.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | cp /etc/resolv.conf /tmp/resolv.conf.org 4 | echo "nameserver 240C::6666" > /tmp/resolv.conf 5 | cat /etc/resolv.conf >> /tmp/resolv.conf 6 | cp /tmp/resolv.conf /etc/resolv.conf 7 | -------------------------------------------------------------------------------- /ipv6支持其他的资料仅供参考/6Plat-46-mac/6plat.tblk/post-disconnect.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | cp /tmp/resolv.conf.org /etc/resolv.conf 4 | -------------------------------------------------------------------------------- /ipv6支持其他的资料仅供参考/6Plat-46-mac/README.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhichengfalv/Solve-App-Store-Review-Problem/331b0ae164ee974c07410759b3688dbb8ec0a8d2/ipv6支持其他的资料仅供参考/6Plat-46-mac/README.txt -------------------------------------------------------------------------------- /ipv6支持其他的资料仅供参考/6Plat-46-mac/Tunnelblick_3.6.3_build_4560.dmg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhichengfalv/Solve-App-Store-Review-Problem/331b0ae164ee974c07410759b3688dbb8ec0a8d2/ipv6支持其他的资料仅供参考/6Plat-46-mac/Tunnelblick_3.6.3_build_4560.dmg -------------------------------------------------------------------------------- /ipv6支持其他的资料仅供参考/AFNetwork.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhichengfalv/Solve-App-Store-Review-Problem/331b0ae164ee974c07410759b3688dbb8ec0a8d2/ipv6支持其他的资料仅供参考/AFNetwork.zip -------------------------------------------------------------------------------- /ipv6支持其他的资料仅供参考/GCDAsyncSocket.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhichengfalv/Solve-App-Store-Review-Problem/331b0ae164ee974c07410759b3688dbb8ec0a8d2/ipv6支持其他的资料仅供参考/GCDAsyncSocket.zip -------------------------------------------------------------------------------- /ipv6支持其他的资料仅供参考/IMG_20160626_191140.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhichengfalv/Solve-App-Store-Review-Problem/331b0ae164ee974c07410759b3688dbb8ec0a8d2/ipv6支持其他的资料仅供参考/IMG_20160626_191140.jpg -------------------------------------------------------------------------------- /ipv6支持其他的资料仅供参考/IPV6(1).docx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhichengfalv/Solve-App-Store-Review-Problem/331b0ae164ee974c07410759b3688dbb8ec0a8d2/ipv6支持其他的资料仅供参考/IPV6(1).docx -------------------------------------------------------------------------------- /ipv6支持其他的资料仅供参考/IPV6.docx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhichengfalv/Solve-App-Store-Review-Problem/331b0ae164ee974c07410759b3688dbb8ec0a8d2/ipv6支持其他的资料仅供参考/IPV6.docx -------------------------------------------------------------------------------- /ipv6支持其他的资料仅供参考/IPV6解决办法—(群主-兰敏).pages: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhichengfalv/Solve-App-Store-Review-Problem/331b0ae164ee974c07410759b3688dbb8ec0a8d2/ipv6支持其他的资料仅供参考/IPV6解决办法—(群主-兰敏).pages -------------------------------------------------------------------------------- /ipv6支持其他的资料仅供参考/IPv6兼容解决方案.docx.qqdownload: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhichengfalv/Solve-App-Store-Review-Problem/331b0ae164ee974c07410759b3688dbb8ec0a8d2/ipv6支持其他的资料仅供参考/IPv6兼容解决方案.docx.qqdownload -------------------------------------------------------------------------------- /ipv6支持其他的资料仅供参考/IP地址测试.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhichengfalv/Solve-App-Store-Review-Problem/331b0ae164ee974c07410759b3688dbb8ec0a8d2/ipv6支持其他的资料仅供参考/IP地址测试.zip -------------------------------------------------------------------------------- /ipv6支持其他的资料仅供参考/IP地址测试/IP地址测试.xcodeproj/project.pbxproj: -------------------------------------------------------------------------------- 1 | // !$*UTF8*$! 2 | { 3 | archiveVersion = 1; 4 | classes = { 5 | }; 6 | objectVersion = 46; 7 | objects = { 8 | 9 | /* Begin PBXBuildFile section */ 10 | EF1C23E91D0557D10044254F /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = EF1C23E81D0557D10044254F /* main.m */; }; 11 | EF1C23EC1D0557D10044254F /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = EF1C23EB1D0557D10044254F /* AppDelegate.m */; }; 12 | EF1C23EF1D0557D10044254F /* ViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = EF1C23EE1D0557D10044254F /* ViewController.m */; }; 13 | EF1C23F21D0557D10044254F /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = EF1C23F01D0557D10044254F /* Main.storyboard */; }; 14 | EF1C23F41D0557D10044254F /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = EF1C23F31D0557D10044254F /* Assets.xcassets */; }; 15 | EF1C23F71D0557D10044254F /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = EF1C23F51D0557D10044254F /* LaunchScreen.storyboard */; }; 16 | /* End PBXBuildFile section */ 17 | 18 | /* Begin PBXFileReference section */ 19 | EF1C23E41D0557D10044254F /* IP地址测试.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "IP地址测试.app"; sourceTree = BUILT_PRODUCTS_DIR; }; 20 | EF1C23E81D0557D10044254F /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; 21 | EF1C23EA1D0557D10044254F /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = ""; }; 22 | EF1C23EB1D0557D10044254F /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = ""; }; 23 | EF1C23ED1D0557D10044254F /* ViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ViewController.h; sourceTree = ""; }; 24 | EF1C23EE1D0557D10044254F /* ViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ViewController.m; sourceTree = ""; }; 25 | EF1C23F11D0557D10044254F /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; 26 | EF1C23F31D0557D10044254F /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; 27 | EF1C23F61D0557D10044254F /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; 28 | EF1C23F81D0557D10044254F /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 29 | /* End PBXFileReference section */ 30 | 31 | /* Begin PBXFrameworksBuildPhase section */ 32 | EF1C23E11D0557D10044254F /* Frameworks */ = { 33 | isa = PBXFrameworksBuildPhase; 34 | buildActionMask = 2147483647; 35 | files = ( 36 | ); 37 | runOnlyForDeploymentPostprocessing = 0; 38 | }; 39 | /* End PBXFrameworksBuildPhase section */ 40 | 41 | /* Begin PBXGroup section */ 42 | EF1C23DB1D0557D10044254F = { 43 | isa = PBXGroup; 44 | children = ( 45 | EF1C23E61D0557D10044254F /* IP地址测试 */, 46 | EF1C23E51D0557D10044254F /* Products */, 47 | ); 48 | sourceTree = ""; 49 | }; 50 | EF1C23E51D0557D10044254F /* Products */ = { 51 | isa = PBXGroup; 52 | children = ( 53 | EF1C23E41D0557D10044254F /* IP地址测试.app */, 54 | ); 55 | name = Products; 56 | sourceTree = ""; 57 | }; 58 | EF1C23E61D0557D10044254F /* IP地址测试 */ = { 59 | isa = PBXGroup; 60 | children = ( 61 | EF1C23EA1D0557D10044254F /* AppDelegate.h */, 62 | EF1C23EB1D0557D10044254F /* AppDelegate.m */, 63 | EF1C23ED1D0557D10044254F /* ViewController.h */, 64 | EF1C23EE1D0557D10044254F /* ViewController.m */, 65 | EF1C23F01D0557D10044254F /* Main.storyboard */, 66 | EF1C23F31D0557D10044254F /* Assets.xcassets */, 67 | EF1C23F51D0557D10044254F /* LaunchScreen.storyboard */, 68 | EF1C23F81D0557D10044254F /* Info.plist */, 69 | EF1C23E71D0557D10044254F /* Supporting Files */, 70 | ); 71 | path = "IP地址测试"; 72 | sourceTree = ""; 73 | }; 74 | EF1C23E71D0557D10044254F /* Supporting Files */ = { 75 | isa = PBXGroup; 76 | children = ( 77 | EF1C23E81D0557D10044254F /* main.m */, 78 | ); 79 | name = "Supporting Files"; 80 | sourceTree = ""; 81 | }; 82 | /* End PBXGroup section */ 83 | 84 | /* Begin PBXNativeTarget section */ 85 | EF1C23E31D0557D10044254F /* IP地址测试 */ = { 86 | isa = PBXNativeTarget; 87 | buildConfigurationList = EF1C23FB1D0557D10044254F /* Build configuration list for PBXNativeTarget "IP地址测试" */; 88 | buildPhases = ( 89 | EF1C23E01D0557D10044254F /* Sources */, 90 | EF1C23E11D0557D10044254F /* Frameworks */, 91 | EF1C23E21D0557D10044254F /* Resources */, 92 | ); 93 | buildRules = ( 94 | ); 95 | dependencies = ( 96 | ); 97 | name = "IP地址测试"; 98 | productName = "IP地址测试"; 99 | productReference = EF1C23E41D0557D10044254F /* IP地址测试.app */; 100 | productType = "com.apple.product-type.application"; 101 | }; 102 | /* End PBXNativeTarget section */ 103 | 104 | /* Begin PBXProject section */ 105 | EF1C23DC1D0557D10044254F /* Project object */ = { 106 | isa = PBXProject; 107 | attributes = { 108 | LastUpgradeCheck = 0720; 109 | ORGANIZATIONNAME = xf; 110 | TargetAttributes = { 111 | EF1C23E31D0557D10044254F = { 112 | CreatedOnToolsVersion = 7.2; 113 | DevelopmentTeam = LW6BBFZ9Q8; 114 | }; 115 | }; 116 | }; 117 | buildConfigurationList = EF1C23DF1D0557D10044254F /* Build configuration list for PBXProject "IP地址测试" */; 118 | compatibilityVersion = "Xcode 3.2"; 119 | developmentRegion = English; 120 | hasScannedForEncodings = 0; 121 | knownRegions = ( 122 | en, 123 | Base, 124 | ); 125 | mainGroup = EF1C23DB1D0557D10044254F; 126 | productRefGroup = EF1C23E51D0557D10044254F /* Products */; 127 | projectDirPath = ""; 128 | projectRoot = ""; 129 | targets = ( 130 | EF1C23E31D0557D10044254F /* IP地址测试 */, 131 | ); 132 | }; 133 | /* End PBXProject section */ 134 | 135 | /* Begin PBXResourcesBuildPhase section */ 136 | EF1C23E21D0557D10044254F /* Resources */ = { 137 | isa = PBXResourcesBuildPhase; 138 | buildActionMask = 2147483647; 139 | files = ( 140 | EF1C23F71D0557D10044254F /* LaunchScreen.storyboard in Resources */, 141 | EF1C23F41D0557D10044254F /* Assets.xcassets in Resources */, 142 | EF1C23F21D0557D10044254F /* Main.storyboard in Resources */, 143 | ); 144 | runOnlyForDeploymentPostprocessing = 0; 145 | }; 146 | /* End PBXResourcesBuildPhase section */ 147 | 148 | /* Begin PBXSourcesBuildPhase section */ 149 | EF1C23E01D0557D10044254F /* Sources */ = { 150 | isa = PBXSourcesBuildPhase; 151 | buildActionMask = 2147483647; 152 | files = ( 153 | EF1C23EF1D0557D10044254F /* ViewController.m in Sources */, 154 | EF1C23EC1D0557D10044254F /* AppDelegate.m in Sources */, 155 | EF1C23E91D0557D10044254F /* main.m in Sources */, 156 | ); 157 | runOnlyForDeploymentPostprocessing = 0; 158 | }; 159 | /* End PBXSourcesBuildPhase section */ 160 | 161 | /* Begin PBXVariantGroup section */ 162 | EF1C23F01D0557D10044254F /* Main.storyboard */ = { 163 | isa = PBXVariantGroup; 164 | children = ( 165 | EF1C23F11D0557D10044254F /* Base */, 166 | ); 167 | name = Main.storyboard; 168 | sourceTree = ""; 169 | }; 170 | EF1C23F51D0557D10044254F /* LaunchScreen.storyboard */ = { 171 | isa = PBXVariantGroup; 172 | children = ( 173 | EF1C23F61D0557D10044254F /* Base */, 174 | ); 175 | name = LaunchScreen.storyboard; 176 | sourceTree = ""; 177 | }; 178 | /* End PBXVariantGroup section */ 179 | 180 | /* Begin XCBuildConfiguration section */ 181 | EF1C23F91D0557D10044254F /* Debug */ = { 182 | isa = XCBuildConfiguration; 183 | buildSettings = { 184 | ALWAYS_SEARCH_USER_PATHS = NO; 185 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; 186 | CLANG_CXX_LIBRARY = "libc++"; 187 | CLANG_ENABLE_MODULES = YES; 188 | CLANG_ENABLE_OBJC_ARC = YES; 189 | CLANG_WARN_BOOL_CONVERSION = YES; 190 | CLANG_WARN_CONSTANT_CONVERSION = YES; 191 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; 192 | CLANG_WARN_EMPTY_BODY = YES; 193 | CLANG_WARN_ENUM_CONVERSION = YES; 194 | CLANG_WARN_INT_CONVERSION = YES; 195 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; 196 | CLANG_WARN_UNREACHABLE_CODE = YES; 197 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; 198 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; 199 | COPY_PHASE_STRIP = NO; 200 | DEBUG_INFORMATION_FORMAT = dwarf; 201 | ENABLE_STRICT_OBJC_MSGSEND = YES; 202 | ENABLE_TESTABILITY = YES; 203 | GCC_C_LANGUAGE_STANDARD = gnu99; 204 | GCC_DYNAMIC_NO_PIC = NO; 205 | GCC_NO_COMMON_BLOCKS = YES; 206 | GCC_OPTIMIZATION_LEVEL = 0; 207 | GCC_PREPROCESSOR_DEFINITIONS = ( 208 | "DEBUG=1", 209 | "$(inherited)", 210 | ); 211 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES; 212 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; 213 | GCC_WARN_UNDECLARED_SELECTOR = YES; 214 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; 215 | GCC_WARN_UNUSED_FUNCTION = YES; 216 | GCC_WARN_UNUSED_VARIABLE = YES; 217 | IPHONEOS_DEPLOYMENT_TARGET = 9.2; 218 | MTL_ENABLE_DEBUG_INFO = YES; 219 | ONLY_ACTIVE_ARCH = YES; 220 | SDKROOT = iphoneos; 221 | }; 222 | name = Debug; 223 | }; 224 | EF1C23FA1D0557D10044254F /* Release */ = { 225 | isa = XCBuildConfiguration; 226 | buildSettings = { 227 | ALWAYS_SEARCH_USER_PATHS = NO; 228 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; 229 | CLANG_CXX_LIBRARY = "libc++"; 230 | CLANG_ENABLE_MODULES = YES; 231 | CLANG_ENABLE_OBJC_ARC = YES; 232 | CLANG_WARN_BOOL_CONVERSION = YES; 233 | CLANG_WARN_CONSTANT_CONVERSION = YES; 234 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; 235 | CLANG_WARN_EMPTY_BODY = YES; 236 | CLANG_WARN_ENUM_CONVERSION = YES; 237 | CLANG_WARN_INT_CONVERSION = YES; 238 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; 239 | CLANG_WARN_UNREACHABLE_CODE = YES; 240 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; 241 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; 242 | COPY_PHASE_STRIP = NO; 243 | DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; 244 | ENABLE_NS_ASSERTIONS = NO; 245 | ENABLE_STRICT_OBJC_MSGSEND = YES; 246 | GCC_C_LANGUAGE_STANDARD = gnu99; 247 | GCC_NO_COMMON_BLOCKS = YES; 248 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES; 249 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; 250 | GCC_WARN_UNDECLARED_SELECTOR = YES; 251 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; 252 | GCC_WARN_UNUSED_FUNCTION = YES; 253 | GCC_WARN_UNUSED_VARIABLE = YES; 254 | IPHONEOS_DEPLOYMENT_TARGET = 9.2; 255 | MTL_ENABLE_DEBUG_INFO = NO; 256 | SDKROOT = iphoneos; 257 | VALIDATE_PRODUCT = YES; 258 | }; 259 | name = Release; 260 | }; 261 | EF1C23FC1D0557D10044254F /* Debug */ = { 262 | isa = XCBuildConfiguration; 263 | buildSettings = { 264 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; 265 | CODE_SIGN_IDENTITY = "iPhone Developer"; 266 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; 267 | INFOPLIST_FILE = "IP地址测试/Info.plist"; 268 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; 269 | PRODUCT_BUNDLE_IDENTIFIER = "cn.xf.IP----"; 270 | PRODUCT_NAME = "$(TARGET_NAME)"; 271 | PROVISIONING_PROFILE = ""; 272 | }; 273 | name = Debug; 274 | }; 275 | EF1C23FD1D0557D10044254F /* Release */ = { 276 | isa = XCBuildConfiguration; 277 | buildSettings = { 278 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; 279 | CODE_SIGN_IDENTITY = "iPhone Developer"; 280 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; 281 | INFOPLIST_FILE = "IP地址测试/Info.plist"; 282 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; 283 | PRODUCT_BUNDLE_IDENTIFIER = "cn.xf.IP----"; 284 | PRODUCT_NAME = "$(TARGET_NAME)"; 285 | PROVISIONING_PROFILE = ""; 286 | }; 287 | name = Release; 288 | }; 289 | /* End XCBuildConfiguration section */ 290 | 291 | /* Begin XCConfigurationList section */ 292 | EF1C23DF1D0557D10044254F /* Build configuration list for PBXProject "IP地址测试" */ = { 293 | isa = XCConfigurationList; 294 | buildConfigurations = ( 295 | EF1C23F91D0557D10044254F /* Debug */, 296 | EF1C23FA1D0557D10044254F /* Release */, 297 | ); 298 | defaultConfigurationIsVisible = 0; 299 | defaultConfigurationName = Release; 300 | }; 301 | EF1C23FB1D0557D10044254F /* Build configuration list for PBXNativeTarget "IP地址测试" */ = { 302 | isa = XCConfigurationList; 303 | buildConfigurations = ( 304 | EF1C23FC1D0557D10044254F /* Debug */, 305 | EF1C23FD1D0557D10044254F /* Release */, 306 | ); 307 | defaultConfigurationIsVisible = 0; 308 | }; 309 | /* End XCConfigurationList section */ 310 | }; 311 | rootObject = EF1C23DC1D0557D10044254F /* Project object */; 312 | } 313 | -------------------------------------------------------------------------------- /ipv6支持其他的资料仅供参考/IP地址测试/IP地址测试.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /ipv6支持其他的资料仅供参考/IP地址测试/IP地址测试.xcodeproj/project.xcworkspace/xcuserdata/ZXF.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhichengfalv/Solve-App-Store-Review-Problem/331b0ae164ee974c07410759b3688dbb8ec0a8d2/ipv6支持其他的资料仅供参考/IP地址测试/IP地址测试.xcodeproj/project.xcworkspace/xcuserdata/ZXF.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /ipv6支持其他的资料仅供参考/IP地址测试/IP地址测试.xcodeproj/project.xcworkspace/xcuserdata/hlh.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhichengfalv/Solve-App-Store-Review-Problem/331b0ae164ee974c07410759b3688dbb8ec0a8d2/ipv6支持其他的资料仅供参考/IP地址测试/IP地址测试.xcodeproj/project.xcworkspace/xcuserdata/hlh.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /ipv6支持其他的资料仅供参考/IP地址测试/IP地址测试.xcodeproj/xcuserdata/ZXF.xcuserdatad/xcschemes/IP地址测试.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 24 | 25 | 30 | 31 | 32 | 33 | 39 | 40 | 41 | 42 | 43 | 44 | 54 | 56 | 62 | 63 | 64 | 65 | 66 | 67 | 73 | 75 | 81 | 82 | 83 | 84 | 86 | 87 | 90 | 91 | 92 | -------------------------------------------------------------------------------- /ipv6支持其他的资料仅供参考/IP地址测试/IP地址测试.xcodeproj/xcuserdata/ZXF.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | IP地址测试.xcscheme 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | SuppressBuildableAutocreation 14 | 15 | EF1C23E31D0557D10044254F 16 | 17 | primary 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /ipv6支持其他的资料仅供参考/IP地址测试/IP地址测试.xcodeproj/xcuserdata/hlh.xcuserdatad/xcschemes/IP地址测试.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 24 | 25 | 30 | 31 | 32 | 33 | 39 | 40 | 41 | 42 | 43 | 44 | 54 | 56 | 62 | 63 | 64 | 65 | 66 | 67 | 73 | 75 | 81 | 82 | 83 | 84 | 86 | 87 | 90 | 91 | 92 | -------------------------------------------------------------------------------- /ipv6支持其他的资料仅供参考/IP地址测试/IP地址测试.xcodeproj/xcuserdata/hlh.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | IP地址测试.xcscheme 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | SuppressBuildableAutocreation 14 | 15 | EF1C23E31D0557D10044254F 16 | 17 | primary 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /ipv6支持其他的资料仅供参考/IP地址测试/IP地址测试/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // IP地址测试 4 | // 5 | // Created by 张旭飞 on 16/6/6. 6 | // Copyright © 2016年 xf. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface AppDelegate : UIResponder 12 | 13 | @property (strong, nonatomic) UIWindow *window; 14 | 15 | 16 | @end 17 | 18 | -------------------------------------------------------------------------------- /ipv6支持其他的资料仅供参考/IP地址测试/IP地址测试/AppDelegate.m: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.m 3 | // IP地址测试 4 | // 5 | // Created by 张旭飞 on 16/6/6. 6 | // Copyright © 2016年 xf. All rights reserved. 7 | // 8 | 9 | #import "AppDelegate.h" 10 | 11 | @interface AppDelegate () 12 | 13 | @end 14 | 15 | @implementation AppDelegate 16 | 17 | 18 | - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { 19 | // Override point for customization after application launch. 20 | return YES; 21 | } 22 | 23 | - (void)applicationWillResignActive:(UIApplication *)application { 24 | // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state. 25 | // Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game. 26 | } 27 | 28 | - (void)applicationDidEnterBackground:(UIApplication *)application { 29 | // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later. 30 | // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits. 31 | } 32 | 33 | - (void)applicationWillEnterForeground:(UIApplication *)application { 34 | // Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background. 35 | } 36 | 37 | - (void)applicationDidBecomeActive:(UIApplication *)application { 38 | // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface. 39 | } 40 | 41 | - (void)applicationWillTerminate:(UIApplication *)application { 42 | // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:. 43 | } 44 | 45 | @end 46 | -------------------------------------------------------------------------------- /ipv6支持其他的资料仅供参考/IP地址测试/IP地址测试/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "iphone", 5 | "size" : "29x29", 6 | "scale" : "2x" 7 | }, 8 | { 9 | "idiom" : "iphone", 10 | "size" : "29x29", 11 | "scale" : "3x" 12 | }, 13 | { 14 | "idiom" : "iphone", 15 | "size" : "40x40", 16 | "scale" : "2x" 17 | }, 18 | { 19 | "idiom" : "iphone", 20 | "size" : "40x40", 21 | "scale" : "3x" 22 | }, 23 | { 24 | "idiom" : "iphone", 25 | "size" : "60x60", 26 | "scale" : "2x" 27 | }, 28 | { 29 | "idiom" : "iphone", 30 | "size" : "60x60", 31 | "scale" : "3x" 32 | } 33 | ], 34 | "info" : { 35 | "version" : 1, 36 | "author" : "xcode" 37 | } 38 | } -------------------------------------------------------------------------------- /ipv6支持其他的资料仅供参考/IP地址测试/IP地址测试/Base.lproj/LaunchScreen.storyboard: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /ipv6支持其他的资料仅供参考/IP地址测试/IP地址测试/Base.lproj/Main.storyboard: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /ipv6支持其他的资料仅供参考/IP地址测试/IP地址测试/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | APPL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | LSRequiresIPhoneOS 24 | 25 | UILaunchStoryboardName 26 | LaunchScreen 27 | UIMainStoryboardFile 28 | Main 29 | UIRequiredDeviceCapabilities 30 | 31 | armv7 32 | 33 | UISupportedInterfaceOrientations 34 | 35 | UIInterfaceOrientationPortrait 36 | UIInterfaceOrientationLandscapeLeft 37 | UIInterfaceOrientationLandscapeRight 38 | 39 | 40 | 41 | -------------------------------------------------------------------------------- /ipv6支持其他的资料仅供参考/IP地址测试/IP地址测试/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // IP地址测试 4 | // 5 | // Created by 张旭飞 on 16/6/6. 6 | // Copyright © 2016年 xf. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /ipv6支持其他的资料仅供参考/IP地址测试/IP地址测试/ViewController.m: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.m 3 | // IP地址测试 4 | // 5 | // Created by 张旭飞 on 16/6/6. 6 | // Copyright © 2016年 xf. All rights reserved. 7 | // 8 | 9 | #import "ViewController.h" 10 | #import 11 | #import 12 | #import 13 | 14 | 15 | #define IOS_CELLULAR @"pdp_ip0" 16 | #define IOS_WIFI @"en0" 17 | #define IOS_VPN @"utun0" 18 | #define IP_ADDR_IPv4 @"ipv4" 19 | #define IP_ADDR_IPv6 @"ipv6" 20 | 21 | @interface ViewController () 22 | 23 | @end 24 | 25 | @implementation ViewController 26 | 27 | - (void)viewDidLoad { 28 | [super viewDidLoad]; 29 | NSDictionary *dic = [ViewController getIPAddresses]; 30 | NSLog(@"%@",dic); 31 | } 32 | 33 | 34 | 35 | + (NSString *)getIPAddress:(BOOL)preferIPv4 36 | { 37 | NSArray *searchArray = preferIPv4 ? 38 | @[ IOS_VPN @"/" IP_ADDR_IPv4, IOS_VPN @"/" IP_ADDR_IPv6, IOS_WIFI @"/" IP_ADDR_IPv4, IOS_WIFI @"/" IP_ADDR_IPv6, IOS_CELLULAR @"/" IP_ADDR_IPv4, IOS_CELLULAR @"/" IP_ADDR_IPv6 ] : 39 | @[ IOS_VPN @"/" IP_ADDR_IPv6, IOS_VPN @"/" IP_ADDR_IPv4, IOS_WIFI @"/" IP_ADDR_IPv6, IOS_WIFI @"/" IP_ADDR_IPv4, IOS_CELLULAR @"/" IP_ADDR_IPv6, IOS_CELLULAR @"/" IP_ADDR_IPv4 ] ; 40 | 41 | NSDictionary *addresses = [self getIPAddresses]; 42 | NSLog(@"addresses: %@", addresses); 43 | 44 | __block NSString *address; 45 | [searchArray enumerateObjectsUsingBlock:^(NSString *key, NSUInteger idx, BOOL *stop) 46 | { 47 | address = addresses[key]; 48 | //筛选出IP地址格式 49 | if([self isValidatIP:address]) *stop = YES; 50 | } ]; 51 | return address ? address : @"0.0.0.0"; 52 | } 53 | 54 | + (BOOL)isValidatIP:(NSString *)ipAddress { 55 | if (ipAddress.length == 0) { 56 | return NO; 57 | } 58 | NSString *urlRegEx = @"^([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\." 59 | "([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\." 60 | "([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\." 61 | "([01]?\\d\\d?|2[0-4]\\d|25[0-5])$"; 62 | 63 | NSError *error; 64 | NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:urlRegEx options:0 error:&error]; 65 | 66 | if (regex != nil) { 67 | NSTextCheckingResult *firstMatch=[regex firstMatchInString:ipAddress options:0 range:NSMakeRange(0, [ipAddress length])]; 68 | 69 | if (firstMatch) { 70 | NSRange resultRange = [firstMatch rangeAtIndex:0]; 71 | NSString *result=[ipAddress substringWithRange:resultRange]; 72 | //输出结果 73 | NSLog(@"%@",result); 74 | return YES; 75 | } 76 | } 77 | return NO; 78 | } 79 | 80 | 81 | 82 | + (NSDictionary *)getIPAddresses 83 | { 84 | NSMutableDictionary *addresses = [NSMutableDictionary dictionaryWithCapacity:8]; 85 | // retrieve the current interfaces - returns 0 on success 86 | struct ifaddrs *interfaces; 87 | if(!getifaddrs(&interfaces)) { 88 | // Loop through linked list of interfaces 89 | struct ifaddrs *interface; 90 | for(interface=interfaces; interface; interface=interface->ifa_next) { 91 | if(!(interface->ifa_flags & IFF_UP) /* || (interface->ifa_flags & IFF_LOOPBACK) */ ) { 92 | continue; // deeply nested code harder to read 93 | } 94 | const struct sockaddr_in *addr = (const struct sockaddr_in*)interface->ifa_addr; 95 | char addrBuf[ MAX(INET_ADDRSTRLEN, INET6_ADDRSTRLEN) ]; 96 | if(addr && (addr->sin_family==AF_INET || addr->sin_family==AF_INET6)) { 97 | NSString *name = [NSString stringWithUTF8String:interface->ifa_name]; 98 | NSString *type; 99 | if(addr->sin_family == AF_INET) { 100 | if(inet_ntop(AF_INET, &addr->sin_addr, addrBuf, INET_ADDRSTRLEN)) { 101 | type = IP_ADDR_IPv4; 102 | } 103 | } else { 104 | const struct sockaddr_in6 *addr6 = (const struct sockaddr_in6*)interface->ifa_addr; 105 | if(inet_ntop(AF_INET6, &addr6->sin6_addr, addrBuf, INET6_ADDRSTRLEN)) { 106 | type = IP_ADDR_IPv6; 107 | } 108 | } 109 | if(type) { 110 | NSString *key = [NSString stringWithFormat:@"%@/%@", name, type]; 111 | addresses[key] = [NSString stringWithUTF8String:addrBuf]; 112 | } 113 | } 114 | } 115 | // Free memory 116 | freeifaddrs(interfaces); 117 | } 118 | return [addresses count] ? addresses : nil; 119 | } 120 | @end 121 | -------------------------------------------------------------------------------- /ipv6支持其他的资料仅供参考/IP地址测试/IP地址测试/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // IP地址测试 4 | // 5 | // Created by 张旭飞 on 16/6/6. 6 | // Copyright © 2016年 xf. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "AppDelegate.h" 11 | 12 | int main(int argc, char * argv[]) { 13 | @autoreleasepool { 14 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /ipv6支持其他的资料仅供参考/UIKit+AFNetworking.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhichengfalv/Solve-App-Store-Review-Problem/331b0ae164ee974c07410759b3688dbb8ec0a8d2/ipv6支持其他的资料仅供参考/UIKit+AFNetworking.zip -------------------------------------------------------------------------------- /ipv6支持其他的资料仅供参考/一个关于网络数据申请的测试] 2.zip.qqdownload: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhichengfalv/Solve-App-Store-Review-Problem/331b0ae164ee974c07410759b3688dbb8ec0a8d2/ipv6支持其他的资料仅供参考/一个关于网络数据申请的测试] 2.zip.qqdownload -------------------------------------------------------------------------------- /ipv6支持其他的资料仅供参考/屏幕快照 2016-07-11 上午9.42.31.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhichengfalv/Solve-App-Store-Review-Problem/331b0ae164ee974c07410759b3688dbb8ec0a8d2/ipv6支持其他的资料仅供参考/屏幕快照 2016-07-11 上午9.42.31.png -------------------------------------------------------------------------------- /ipv6支持其他的资料仅供参考/苹果App IPv6-only送审通关一站式解决方案-201600719 -no price(1).pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhichengfalv/Solve-App-Store-Review-Problem/331b0ae164ee974c07410759b3688dbb8ec0a8d2/ipv6支持其他的资料仅供参考/苹果App IPv6-only送审通关一站式解决方案-201600719 -no price(1).pdf -------------------------------------------------------------------------------- /my_idear_of_ipv6.md: -------------------------------------------------------------------------------- 1 | # ipv6 是顽疾吗 ? 2 | 是顽疾,成功10次上架 ,什么也没有修改,还说你ipv6无法联网 ,此时 你只需要申诉,上传截图或者视频告知你真的已经适配ipv6即可,回复即可,无需重新打包 3 | 4 | # 遇到ipve6 被拒绝怎么办? 5 | 大部分应用不需要 ,少数需要,有些需要后台服务器搞定,我们app 使用了自己写的socket 需要ios代码适配下ipv6,用了ASI的需要测试下,其他的因为iOS不支持ipv6 的情况比较少 6 | - 如何申诉 7 | - 如何上传视频 8 | - 如何搭建服务器测试是否支持 9 | - 如何花钱找人帮忙(博主工作有点忙,无精力,接私活 谢谢) 10 | - 什么是ipv6? 11 | - 苹果拒绝我了,这个拒绝是否和ipv6 有关 12 | 13 | **上面的一序列问题,本仓库都有答案,你需要 的就是把本仓库的内容读3遍 就什么都知道了** 14 | 15 | # ipv6后台适配不了怎么办? 16 | 让后台查资料,后天也解决不了怎么办? [花钱来解决ipve6](https://github.com/wg689/Solve-App-Store-Review-Problem/blob/master/ipv6.md#q三实在搞不定ipv6怎么办对ipv6无计可适的时候可以考虑) 17 | 花钱来解决ipve6,和本人无任何合作,目前是我了解的提供支持比较好的,这个是最后无法解决的绝招 18 | 19 | -------------------------------------------------------------------------------- /no_nonsume_decription.md: -------------------------------------------------------------------------------- 1 | ____ 2 | 3 | #📣问题:x 4 | 5 | **苹果邮件描述**
6 | 7 | 8 | 9 | 10 | ##解决方案: 11 | #1)添加描述的位置 12 | 13 | 14 | #2如何描述的例子) 15 | 16 | 17 | 18 | #3)需要在plist告诉用户的 19 | 20 | 21 | 22 | ____ -------------------------------------------------------------------------------- /purchase_wechatLoginSharePay.md: -------------------------------------------------------------------------------- 1 | ____ 2 | 3 | #📣问题:卖商品不想走内购怎么办?(内购被拒绝) 4 | 那些商品离不开内购:视频(很多公司卖课程视频),会员,游戏钻石,游戏币,直播礼物等虚拟物品等,卖药卖实物无需走内购 5 | 6 | 7 | ##解决方案: 8 | 方案1)审核的时候 把需要视频播放的隐藏,通过后再放出来,此招有风险,可能会受到警告信,甚至被封号,如果用户量小就无所谓了,先把app 搞上架! 9 | 方案2)学习58同城,让用户去网站购买产品,买了产品的账号到移动端使用功能 10 | 方案3)就老老实实的做内购吧.莫别的招了 11 | 12 | ____ 13 | ____ 14 | 15 | #📣问题:微信支付,登陆,分享没安装微信,提示下载微信被拒绝怎么办? 16 | 17 | ##解决方案: 18 | - 1)如果审核的时候有这种被拒绝,那么你需要在审核的时候让审核的人员在测试机器上没安装微信的情况下看不到你的微信支付,微信登录,分享! 19 | - 2)怎么让苹果审核人员看不到微信?粗暴点的方法: 自己公司写接口,审核的时候后台放回yes ,隐藏这些微信相关的,审核通过打开这些还有更优雅的做法 20 | 像友盟所做的先判断是否安装微信,没有安装微信隐藏微信分享,微信登录,微信支付等功能,友盟官网说的: 21 | ` 22 | 由于苹果审核政策需求,建议大家对未安装客户端平台进行隐藏,在设置QQ、微信AppID之后调用下面的方法,[UMSocialConfig hiddenNotInstallPlatforms:@[UMShareToQQ, UMShareToQzone, UMShareToWechatSession, UMShareToWechatTimeline]]; 这个接口只对默认分享面板平台有隐藏功能,自定义分享面板或登录按钮需要自己处理 友盟分享sdk5.2.1已经兼容ipv6,请大家升级sdk,避免无法通过APPstore审核> 23 | ` 24 | 这种思想一样可以用到微信支付,微信登陆 25 | ____ 26 | 27 | ____ 28 | 29 | #📣问题:被拒绝注册功能 30 | 31 | **苹果邮件描述**
We noticed that your app requires users to have an account to access non account-based features. Apps cannot require user registration prior to allowing access to app content and features that are not associated specifically to the user. 32 | 33 | Specifically, your app requires users to log in before accessing the product listing. 34 | 翻译成中文:你的app需要用户提供一个账号去使用不需要账号就可以访问的内容,app 不能让用户提前注册因为用户使用的这些功能和用户没有特定的关联关系 35 | 36 | ##解决方案: 37 | 就是说你的app中有的功能没有必要非得注册登录才能使用的你们强制要求用户登录了 38 | 39 | 建议使用游客功能,让用户使用部分功能的时候才需要登录,详情参考我的已上线的小外包:"北仑新闻"app,只有用户评论,收藏,提交爆料功能才提示用户登录,只有聊天类的才可以强制登录 ,更多登录相关的原因参考我的博客:[APP的登录逻辑](http://www.jianshu.com/p/4ef69727b5cb) 40 | 41 | ____ 42 | 43 | 44 | 45 | -------------------------------------------------------------------------------- /sex_offensive.md: -------------------------------------------------------------------------------- 1 | 2 | ____ 3 | 4 | # 📣问题:有objectionable(反感的讨厌的) and offensive(不愉快的)被拒绝 5 | 6 | **苹果邮件描述**
7 | Your app includes content that many users would find objectionable(反感的讨厌订单) and offensive(冒犯). 8 | Specifically, your app facilitate paids(付费) companionship(陪同 伙伴) which is not appropriate for the App Store. 9 | We've attached screenshot(s) for your reference. 10 | Please remove all objectionable content from your app and submit your revised binary for review. 11 | 苹果截图 12 | 13 | 14 | 15 | 16 | ## 解决方案: 17 | 看到上文的汉字和红色箭头大致知道什么问题了 18 | 苹果认为付费陪玩不符合苹果审核指南 19 | 20 | 解决方案:上图中的45元/15分钟 调用后台接口,当在审核的时候隐藏 21 | 22 | ____ 23 | 24 | 25 | 26 | ____ 27 | 28 | # 📣问题:如何隐藏部分功能 29 | 每次app 登陆掉一个接口 返回yes 或者no 30 | 31 | 32 | 33 | **有的公司设个时间,超过了一定的时间比如7天后,某个界面的功能才正常显示,否则这个界面就隐藏部分内容,这样没有接口控制灵活不推荐** 34 | 这种隐藏普遍被使用,一经被苹果发现会被警告或者被封开发者账号,有公司隐藏被发现的 35 | ____ 36 | 37 | # 隐藏会不会发现 38 | 会被发现概率很低,博主知道的是小于3% 的概率会被发现,下面的案例是一个约单 app (将一个tabbar隐藏发现了) 39 | 40 | # 隐藏被暴露之后怎么办 (几点供参考) 41 | - 按照苹果规则来 42 | - 支付宝隐藏 换内购,按照苹果爸爸的意见来 43 | - 约炮按钮隐藏了 ? 显示出来 44 | - 企业账号发布,可以为所欲为,只是适合初期的创业公司 45 | - 找产品经理老板改需求 46 | - 更换账号继续隐藏上传 47 | 48 | 49 | -------------------------------------------------------------------------------- /wait to do.md: -------------------------------------------------------------------------------- 1 | #待做的事 2 | - 优化readme 排版 3 | - 为readme 增加导航 4 | - 增加登录注册专题 5 | - 增加文章 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | ____ 15 | 16 | #📣问题: 17 | 18 | **苹果邮件描述**
19 | 20 | ##解决方案: 21 | 22 | ____ 23 | 24 | -------------------------------------------------------------------------------- /本仓库介绍/fir.im Weekly - 可能是 iOS 审核最全面的解决方案.webarchive: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhichengfalv/Solve-App-Store-Review-Problem/331b0ae164ee974c07410759b3688dbb8ec0a8d2/本仓库介绍/fir.im Weekly - 可能是 iOS 审核最全面的解决方案.webarchive -------------------------------------------------------------------------------- /本仓库介绍/飞行日志.webarchive: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhichengfalv/Solve-App-Store-Review-Problem/331b0ae164ee974c07410759b3688dbb8ec0a8d2/本仓库介绍/飞行日志.webarchive --------------------------------------------------------------------------------