iOS新应用过审自查流程

仔细研读官方文档:https://developer.apple.com/app-store/review/guidelines/

常见问题分类:

1、市场素材问题:版权、明星肖像版权、图片里边出现手机、出现安卓的样式都是不允许的。

2、内购问题:必须能游客购买、不能有第三方

3、自己的bug:不能崩溃、不能使用、不能购买等自己的bug不能有,看似很简单,但是新App提交的时候有时确实确实有问题。

4、文案问题:隐私协议、等地方不能提到安卓

常见详细问题:

1.涉及到第三方的视频和音乐在APP内播放,需要有版权文件,webView的不算,特别是下载,更加严格。

2.第三方登陆和分享,需要提供测试账号,登陆的时候,如果没有装qq,要把qq的登陆按钮隐藏,否则会跳走,会被拒绝,没有装微博,微博会自己在应用内弹出界面,所以不用隐藏。分享的时候,没有装qq,就提示没有安装,返回,不然也会跳走,这边不用隐藏,微博也是提示没有安装就可以,其实苹果一般是不装qq和微博的,一个原则:不能从我们的APP跳走。

3.如果使用第三方登陆,就一定要有第三方分享,苹果拒绝单纯只使用第三方的用户体系,而不使用第三方的功能。

4.手机登陆,需要写验证码的话,苹果在美国是收不到的,需要主动提供万能密码。

5.提交到市场的截图如果涉及到应用内的效果图,一定要从最终提交的app中截取,一定要保持一摸一样,不能有按钮或者图标的增加或减少,否则被拒,这种情况常发生在版本更新了,截图忘记替换,还是上一版的。

6.应用的描述,不要写的太虚,没有的功能不能写,需要npc服务的,不要写的天花乱坠,因为苹果在审核的时候,我们的npc是不会为他服务,他会认为你夸大,描述写的实在一点。

7.关键词尽量和App沾边,不沾边的问题也不大,看审核人员的尺度,可以写竞品的APP名字,但不能写很有名的,比如微信,愤怒的小鸟之类的。

8.应用内最好做假数据,苹果审核的时候,不要有色情暴力,粗俗的图片内容,比如比中指,审核的时候,内容最好不要有webView,因为外链内容不可控,可能需要付费,登陆之类的,增加被拒的概率。

9.如果有内购,一定要在沙盒环境测试通过,需要把一个真实的AppleID在itunes connect注册成为可以内购的测试账号,并且用此账号测试通过后,提供给苹果,苹果在审核的内购的时候也会用此账号在沙盒环境测试,不是真实环境,一定注意,此appleID不能再用于真实App Store内进行消费。

10.有支付宝支付的,需要事先隐藏,不能让苹果看到,有实物奖励的话,比如抽奖的运营活动,一定要说清楚,奖励由本公司负责,和苹果没有关系,

11.如果有手机登陆,获取用户的手机号,邮箱之类的,一定要在审核备注里面,写清楚保密条款,立下一个军令状,不会泄露用户隐私,并且说明为什么要获取隐私。

12.一个在iPhone上的跑的应用,不适配iPad,但要保证iPad的运行效果和iPhone4s一样,苹果审核的时候,很少用iPhone,基本上都是用iPad测试,要保证可用。

13.不能将需要登陆才能访问的网址作为技术支持地址,比如官方微博的地址。

14.如果有下载剧集或者下载的大文件,不能放在document文件夹下,因为会同步到iCloud,占用用户的空间,一般的数据库文件是可以的。

15.不可以提到安卓,Android,可以用全平台之类代替。

16.应用内不能有主动检测新版本的按钮和入口,但每3天检测一次,只要苹果没发现就可以。

17.不能强迫用户注册,就是用户不注册也能看较多的内容,当用户需要开始点赞,评论才需要用户登陆,是可以接受的,如果纯看,是不用注册的。

18.不要出现测试,beta字样,iPhone,iPad等苹果产品的名字不能拼错,特别是大小写。

作者:eidan
链接:https://www.jianshu.com/p/942d1cfc039a
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

iOS贝塞尔曲线绘制笔触,压感手写板

其实不是压感的,只是仿压感笔触~

先引入篇文章,引入贝塞尔曲线的原理:

贝塞尔曲线如何绘制的原理,如何在贝塞尔曲线上取点,以及如何实现笔触颜色渐变

下列文章讲解如何从美术的角度使得贝塞尔曲线更漂亮:

https://blog.csdn.net/wdjhzw/article/details/77646416

以下是iOS如何从代码层面实现绘图笔触模拟,以及流畅的线条

基础流畅线条原理

https://blog.csdn.net/ONGYUNHAI/article/details/51354020

https://github.com/AfryMask/AFBrushBoard

https://github.com/LvyCode/BrushDraw

iOS 包体积优化

https://www.cnblogs.com/qingzZ/p/10998983.html

https://www.jianshu.com/p/1abae7aa4610?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendatio项目打包之后.ipa包的大小是118.9M,上传到App Store后iPhone6s上显示85.5M,下载时间太长,所以找了一些优化方法,下面这些都是别人写的自己试了一下确实好用,不是原创,只是记录一下。

1、配置编译选项 (Levels选项内)Generate Debug Symbols  设置为NO,这个配置选项应该会让你减去小半的体积。注意这个如果设置成NO就不会在断点处停下

2、舍弃架构armv7,armv7用于支持4s和4,4s是2011年11月正式上线,虽然还有小部分人在使用,但是追求包体大小的完全可以舍弃了。

3、去除无用的三方库、代码、readme

4、图片处理图片是安装包里占用空间最大的东西,我的项目中占用了一半的体积。   

*用imageoptim压缩图片的大小   

*一些比较大体积的背景图片压缩成.jpg格式的。   

*用LSUnusedResource这个软件查找项目中没有用到的图片,然后删除,当然不一定特别准确,有一些[UIImage imageNamed:[NSString stringWithFormat:@”icon_%d”,index]]这样使用的图片也会被列在未使用图片中。 

*使用Assets.xcassets来管理图片也可以减小安装包的体积

5、build setting 里 DEAD_CODE_STRIPPING = YES(好像默认就是YES)。 确定 dead code(代码被定义但从未被调用)被剥离,去掉冗余的代码,即使一点冗余代码,编译后体积也是很可观的。

6、编译器优化级别Build Settings->Optimization Level有几个编译优化选项,release版应该选择Fastest, Smalllest[-Os],这个选项会开启那些不增加代码大小的全部优化,并让可执行文件尽可能小。

7、去除符号信息Strip Debug Symbols During Copy 和 Symbols Hidden by Default 在release版本应该设为yes,可以去除不必要的调试符号。Symbols Hidden by Default会把所有符号都定义成”private extern”,设了后会减小体积。

8、Strip Linked Product:DEBUG下设为NO,RELEASE下设为YES,用于RELEASE模式下缩减app的大小; 2018.7.17新增

9、编译器优化,去掉异常支持。Enable C++ Exceptions、Enable Objective-C Exceptions设置为NO,Other C Flags添加-fno-exceptions Enable C++ Exceptions Enable Objective-C Exceptions Other C Flags添加-fno-exceptions

10、利用AppCode 检测未使用的代码:菜单栏 ->Code->InspectCode最后要说:xcode BulidSetting中的设置都可以区分debug和release,如果觉得在开发的时候还想用到这些,就把debug和release分开设置就可以了