WWDC2014一些技术可行性分析

1、使用Photos Framework,可以全功能访问系统相册。可以修改图片属性,添加效果,甚至Delete图片,在用户授权的前提下。

     这样可以做一个全功能的第三方相册了。

     无需自己来存储相片,用系统的数据库,用自己的UI,添加更好的用户体验,照相机和图像管理的App的机会来了。

2、关于CoreImage。iOS8的CoreImage提供了115个现成的算法可以调用,并且支持Kernel算法编程。并且针对iOS提供了两个更好用的Kernel,一个用来处理颜色的,一个用来处理形变的。用户可以自定义算法来处理图像了。

     超大图像处理。iOS8只要1秒25M空间就可以处理4200*6300(~100M)的图像(CISepiaTone)。而在iOS7需要17秒205M空间。iOS8对处理图像大小没有限制,并且全在GPU处理。(自动切成小图处理)。iOS8的后台可以有一些时间的GPU处理,低优先级,不影响前台。而在iOS7后台用CPU处理。

     一些新的Filter:

      a、Histogram(CIAreaHistogram+CIHistogramDisplayFilter)

      b、线性移轴(CIMaskedVariableBlur)

      c、折纸移动效果(CIAccorditionFoldTransition)

      d、生成一维条码(CICode128BarcodeGenerator)

      e、生成二维码(CIAztecCodeGenerator)

      f、透视图矫正(CIPerspectiveCorrection)

      一些新的检测工具:

      a、脸部监测(眨眼,笑脸)

      b、矩形区域检测

      c、条码检测

     开发者可以用来写PhotoEditing插件,给第三方使用。

     将会有更强大的图像编辑工具出现。

3、照相机开发了几乎全部底层硬件控制API,除了光圈不能动,其他都能动了。

      对焦:自动模式可以识别对焦点的远近,手动模式可以控制焦距的远近。

      曝光:曝光有快门速度和ISO决定。并且有曝光中值的设定。自动模式可以识别当前的快门速度和 ISO值,手动模式可以设置快门速度和ISO值,以及曝光中值。

      白平衡:自动模式可以识别当前的白平衡值,手动模式可以设置白平衡,并且可以指定什么是白色。

      相机API还提供了拍一次取多张照片的功能,例如不同曝光照片可以做HDR。

      现在做一个非常牛逼的全功能模拟单方相机的软相机简直易如反掌,剩下的就是好的UI和用户体验过了。

      还可以使用某个API来做很有趣的功能相机。例如SlowShutter,HDR相机,运动相机,测光表等。

4、CloudKit基本上实现了Parse等大部分功能(Parse是移动后端服务提供商,在中国有AVOSCloud,Bmob也不错)。不过这些第三方的唯一优势就是可以跨平台。

      如果制作Apple程序,那么小开发者再也不用担心没有服务器的问题了。专心开发客户端,服务器就交给苹果吧。如果想做快平台,还是建议使用第三方的服务,Bmob开发者全免费,其他的都收费。

      还有,之前通知收到如果不看,进入App后就没有办法获取历史消息了。现在可以了,有了CloudKit,她全给你存着呢。

  关于限制。苹果的限制是防止滥用,并不是限制用户的正常使用。随着用户量的增加容量和传输量限制会变化。

      开始:存储5GB文件,500MB数据库,25MB每天文件传输,250KB每天数据库传输。

      每增加一个用户:增加100MB文件存储,1MB数据库,0.5MB每天文件传输,5KB每天数据库传输。

      最大限制:存储1PB文件,10TB数据库,5TB每天文件传输,50GB每天数据库传输。

      相当于最大可以容纳1000万用户,如果有更大量的需求可以联系苹果。估计也是免费的,因为苹果的限制是防止滥用。

5、Metal是个针对A7处理器的渲染语言,真的很强大,最高可以达到OpenGL的10被渲染速度,而且效果更好,并且省电。她可以用来做游戏,也可以用来做图像处理。

      可以好好研究一下,用来做图像处理,那就更快更省电,更强大了。

6、iOS之后的AppStore的展示图可以放视频了。好消息啊。并且在最新的OS X 10.10 之后的QuickTime支持直接录制手机屏幕和声音,这样制作展示视频就简单了。

7、关于Swift。试用了,确实是个不错的语言。语法简单,安全,高效,内存管理优秀。一个工程可以同时使用Object-C和Swift混合编程,但是一个文件内不可以混编。

     老工程的新功能可以使用Swift编程,和老的Object-C代码很好的结合。

     新的工程建议直接使用Swift编程,个人觉得不错,你觉得呢?

8、关于CoreLocation。权限请求分成WhenInUse或者Always两种。请求时的文字可以App自己定义。可以直接从App中直接跳转到Setting中。

      UILocalNotification支持Region-base trigger.

      Visit Monitoring。用来检测用户在某个地方停留一定时间,将这个地方定为Visit点,并从后台启动App做某些处理,包括到达这个点和离开这个点,不过提醒会延时一会儿,但是可以获得正确的到达和离开时间。

      Locaion indoor。Need wifi and device unlock。使用原有的API即可,添加了楼层数。提供了很多室内数学计算API帮助计算。可以做室内导航。和iBeacon协作,做更多事情。

原文地址:https://www.cnblogs.com/zhoujinhao/p/3779885.html