iOS开发

iOS10新特性

2016-10-11  本文已影响460人  9bf19a4010ab
  1. Notification(通知)
    自从Notification被引入后 苹果就不断的更新优化 但之前都是一些较小的改动和优化 直到iOS10开始了真正进行大改重构 这次改动也要开发者体会到了Notification的易用 功能也变得十分强大

iOS9以前的通知
1. 在调用方法时 有些方法很难区分 容易写错方法 让开发者苦恼
2. 应用在运行时和非运行时捕获通知的路径还不一致
3. 应用在前台时 无法直接显示远程通知 还需要进一步处理
4. 已经发出的通知是不能更新的 内容发出时不能改变 并且只有简单文本展示形式 扩展性不是很好

iOS10的通知
1. 所有通知被统一到了UserNotifications.framework框架中
2. 增加了撤销 更新 中途还可以修改通知的内容
3. 通知不是简单的文本了 还可以加入视频图片 自定义通知的展示等等
4. 相对于之前的通知iOS10的通知更易于管理 并且进行了大规模的优化
5. iOS10对权限问题进行了优化 申请权限比较简单了(本地佷远程通知集成在一个方法中)

通知相关学习资料
https://developer.apple.com/reference/usernotifications

  1. ATS问题
    在iOS9中HTTP是不推荐使用的 当然我们可以把NSAllowsArbitraryLoads设置为YES禁用ATS 而iOS10不允许我们通过这个方法跳过ATS 也就是说强制我们使用HTTPS 如果不这样的话提交APP可能会被拒 但是我们可以通过NSExceptionDomais来针对特定的域名开放HTTP通过审核
    ATS相关学习资料https://onevcat.com/2016/06/ios-10-ats/

  2. iOS隐私权限问题
    iOS10对隐私权限更加严格 如果你不设置就会直接崩溃 解决方法一般都是在info.plist文件添加对应的key-value就可以了 如下:

    隐私权限相关学习资料http://www.jianshu.com/p/616240463a7a

    C0A59367-9CB0-47C7-9D08-8C0D2978C2D2.png
  3. Xcode8运行时出现一堆没用的log的解决方法
    点击'Wonderful'也就是Xcode中选择模拟器选项左侧位置 会弹出选项框点击Edit scheme

    A4E427B0-C691-4C49-AD5E-99617D8BB144.png
    然后在固定位置添加OS_ACTIVITY_MODE : disable 就可以了
    9B33BE70BAA9FE854619969B522C3428.jpg
    相关资料链接http://stackoverflow.com/questions/37800790/hide-strange-unwanted-xcode-8-logs
  4. 关于UIStatusBar的一些改动
    在开发过程中我们可能会遇到对状态栏进行一些属性设置 在iOS10中之前地状态栏的设置方法已经失效了 在iOS10中需要使用preferredStatusBar例如:
    - (UIStatusBarStyle)preferredStatusBarStyle {
    return UIStatusBarStyleDefault;
    }

  5. iOS10 UICollectionView性能优化
    在开发中 collectionView的使用很广泛 但是在使用过程中collectionView经常会出现一些卡顿 加载缓慢等一系列的问题 所以iOS10 对collectionView进行了一些列的优化 感兴趣的可以通过下面的参考资料进行了解学习哈
    http://www.jianshu.com/p/e97780a24224

  6. iOS对UIColor进行优化
    iOS10之前我们都是用RGB来设置颜色 用起来不是特别的多样化 在iOS10苹果官方建议我们使用sRGB 它的性能更好颜色更为丰富

  7. iOS10 UITextContentType
    在iOS10 UITextField添加了textContentType枚举 什么意思呢其实就是为了方便开发 和用户的需要提供了一个textField输入内容格式的枚举 怎么说呢 也就是如果当前textField输入框要输入的是一个用户的邮箱时 系统就会弹出输入邮箱的键盘(UITextContentTypeEmailAddress)

  8. iOS10 字体随着手机系统字体而改变
    在不同的系统上字体会有着不同的变化 这时我们需要写很多代码来改变字体大小 在iOS10中为我们提供了adjustsFontForContentSizeCategory属性来调整字体的大小

  9. iOS10 UIScrollView的refreshControl
    iOS10 以后只要是继承UIScrollView那么就支持刷新功能

  10. iOS10判断系统版本的正确方法
    // oc中
    [[UIDevice currentDevice] systemVersion];
    // swift中
    if #available(iOS 10.0, *) {
    print("iOS 10.0")
    }

  11. Xcode8中插件不能使用的问题
    Xcode升级到Xcode8时插件都不允许使用了 但是通过一定渠道可以解决这问题
    参考一下资料 http://qbview.url.cn/getResourceInfo?appid=31&url=http%3A%2F%2Fvongloo.me%2F2016%2F09%2F10%2FMake-Your-Xcode8-Great-Again%2F%3Futm_source%3Dtuicool%26utm_medium%3Dreferral%26nsukey%3DGLUj2K4hdS5LVWKX4zMb6SJPS79KXcI4AEDC2Tbgy9d9u3UqCnjJ3UdOuHQc3KQlYIflEryezyvIhTPTGJL9%252Fg%253D%253D&version=10000&doview=1&ua=Mozilla%2F5.0+(Linux%3B+Android+4.4.4%3B+MI+4W+Build%2FKTU84P)+AppleWebKit%2F537.36+(KHTML%2C+like+Gecko)+Version%2F4.0+Chrome%2F33.0.0.0+Mobile+Safari%2F537.36+MicroMessenger%2F6.3.25.861+NetType%2FWIFI+Language%2Fzh_TW&keeplink=0&reformat=0
    但是还会有问题哈 如果使用插件引起安全问题 并且在APP提交中会被拒 所以还是不要使用了 哈哈哈

  12. iOS10 中字体的一些问题
    简单的说就是 Xcode8上面的字体会比之前版本的字体大一些 具体大多少是不确定的可能大0.5 可能大1 可能大1.5 还可能更多 字体设施越大相差的也就要越大啦
    但是英文不会出现这种问题只有中文会出现这种问题 这会造成在某些控件上 文字显示不全等问题 目前为止只有修改空间尺寸这个方法来解决这个问题哈

  13. Xcode8编译缓慢的问题
    在Xcode8运行程序时 会出现编译缓慢的情况 关于这个问题 感兴趣的可以参考如下资料进行解决
    http://nszzy.me/2016/03/20/reduce-xcode-build-times/?nsukey=YkG%2Fw1VxrKduTy1%2F%2FLQeob5ejpZ8igs3FrOLd6LprednEk%2BIfPKNy0%2Fl6yBpRXCIFDHrU0WePEWWdc9JcIBrew%3D%3D

  14. iOS10 ImagePickerController.cameraViewTransform的问题
    iOS中自定义相机出现了问题 cameraViewTransform不能使用了 关于这个问题感兴趣的可以参考如下资料
    http://stackoverflow.com/questions/39124794/uiimagepickercontrollers-cameraviewtransform-is-ignoring-scaling-and-transla

to be continued...

上一篇下一篇

猜你喜欢

热点阅读