开发Tips收集-2016年04月

这些小Tips为本人近期读书笔记,收集来自网络开发者发布的技术文档,并非原创,共享的目的是为了扩散分享技术,共同进步。如有侵权不得转载等情况,请联系我告知,谢谢!

  • 当手势和touchmoved同时加在uiview上面的时候将会优先的识别手势。滑动手势的识别是需要时间的,当手势在被识别出来以前,touchbegan 依旧会被调用。如果你希望在你的手势被识别的过程中touchbegan不被调用,那么你需要调用delaysTouchesBegan。
  • 修改状态栏字体颜色:只能设置两种颜色,黑色和白色,系统默认黑色。设置为白色方法:
    1. 在plist里面添加Status bar style,值为UIStatusBarStyleLightContent(白色)或UIStatusBarStyleDefault(黑 色)
    2. 在Info.plist中设置UIViewControllerBasedStatusBarAppearance 为NO
  • 改善APP的流畅度:
    1. 尽量不要实现drawRect(每次调用该方法时,都要为backing store分配内存,非常消耗CPU)
    2. 避免在drawRect:中进行耗费大量CPU资源的工作
    3. 尽量少调用setNeedsDisplay:(视图内容变化时才调用)
    4. 考虑使用setNeedDisplayInRect: , 传入drawRect:的rect越小,stoke,fill的时间越少, 即使drawRect:是根据视图边界绘制的)
    5. 充分利用GPU的资源,直接设置layer的border,shadow,corner,gradient等属性, GPU将会处理这些属性(相反如果GPU紧张,CPU空闲,应由CPU处理,可在drawRect:中实现)
    6. 如果绘制很多东西到一个视图时,可尝试开启drawsAsynchronusly,那么GPU会将视图内容绘制到backing store中,但是开启后,内存会增加,因此需要评估开启前后性能的变化,谨慎使用。
  • 推送,必须通过iOS Developer Program Portal获得SSL证书。每个证书限用于一个程序,使用程序的bundle ID作为标识。证书有两种用途的:一种是针对sandbox(用于开发和测试),另外一种针对发布产品。
    1. sandbox推送是在测试环境时候做的推送需要:1开发证书2ssl证书3验证性文件。在申请ssl证书的时候需要注意bundle ID的配套,并且不能含有*等字号。这三个申请下来就可以做推送了。因为我是用的个推,所以在推送的时候需要把申请的ssl证书在钥匙串里面导出为p12文件,然后上传到个推上去,个推会自动检测是开发证书还是生产证书。接下来就可以做推送了。
    2. 生产环境推送需要:1生产证书app store and ad hoc 2生产环境ssl证书3验证性文件。步骤和sandbox类似。记住一定要在codesigning这里配置好。也许有人问,如果想要测试一下生产环境的推送怎么办,好办!只要你利用申请好生产证书app store and ad hoc打一个测试包装到手机里,既可以进行正式环境的测试了。
  • 应用程序的状态:
    Not running未运行:程序没启动。
    Inactive未激活:程序在前台运行,不过没有接收到事件。在没有事件处理情况下程序通常停留在这个状态。
    Active激活:程序在前台运行而且接收到了事件。这也是前台的一个正常的模式。
    Backgroud后台:程序在后台而且能执行代码,大多数程序进入这个状态后会在在这个状态上停留一会。时间到之后会进入挂起状态(Suspended)。有的程序经过特殊的请求后可以长期处于Backgroud状态。
    Suspended挂起:程序在后台不能执行代码。系统会自动把程序变成这个状态而且不会发出通知。当挂起时,程序还是停留在内存中的,当系统内存低时,系统就把挂起的程序清除掉,为前台程序提供更多的内存。
  • UIScrollView有个keyboardDismissMode属性,设置成UIScrollViewKeyboardDismissModeOnDrag就可以在拖拽ScrollView的时候自动缩起键盘
  • iOS开发需要的图片
    1. 产品设计图:可以以6的长宽比 750*1134来设计。这些图片用于描述app是什么样子的,这是app开发人员的开发参考。
    2. 产品切图:将设计师将设计稿切成可以用来开发的图。内部设计细节:A. 所有能点击的图片不得小于44px(Retina需要88px)B. 单独存在的部件必须是双数尺寸 C. 两倍图以@2x作为命名后缀
    3. 图标icon: 需要四种尺寸:58*58、80*80、120*120、180*180
    4. 启动图LaunchImage: 需要四种尺寸:3.5英寸(640*960),4英寸(640*1136),4.7英寸(750*1134),5.5英寸(1242*2208)
    5. 引导图: 用户第一次使用app或者app更新之后展示新特性的图
    6. App Store上架图: 用于在App Store上面 介绍app的,需要四种尺寸:3.5英寸(640*960),4英寸(640*1136),4.7英寸(750*1134),5.5英寸(1242*2208)