当晚看了WWDC2016直播,第二天我安装了iOS10试用版,我们发现变得谨慎而开放的苹果在新一版四大平台系统中展示了很多变化,当然重中之重还是伟大的iOS,看这架势苹果是要做一系列行业平台了。通过试用iOS10beta版,除了长大了的更强大的Siri主要感受到iMessage更加如微信般强大到除了一般的文字、图片、表情、语音消息,还支持消息特效动画、动态涂鸦消息、类似于发红包转账的支付、推广分享链接、媒体文件发送;还有改进的地图导航,支持语音、支持嘀嘀打车等;自带的一堆长期没有存在感的软件终于可以卸载了,多了个HomeKit应用;陌生来电识别功能;通知栏、通知提醒消息格式和上拉面板设计风格由之前简约半透明的转变为傻大白条,个人感觉变丑了!挺喜欢夜间模式的.

接下来我们粗略解读一下WWDC2016和官方文档What's New in iOS10,我们来看看iOS 10 都给开发者带来了什么?

1 SiriKit 在 iOS 10 里面开发者可以使用 Siri SDK,这可能是 iOS 10 最重要的新 SDK之一。从此开发者可以使用原生API提供语音搜索、语音转文字消息甚至更多常见语音功能。

2 Proactive Suggestions  貌似是一个和 CoreSpotlight 有整合的使用建议的东西,大概就是Siri建议那种根据使用习惯推荐吧。

3 Message App Extension   在 iOS 10 里面开发者可以给 Message.app 提供两种 App Extension,分别是可以提供一个表情包(没错,英文名就叫 Sticker Pack),和一个自定义的界面,用于表情搜索等,显然这是一个让表情 app 开发商们笑到哭的 API,我也做了几个表情包发上去了。MessagesExtension

4 User Notifications 这个 API 让你可以处理本地或远程的用户通知,并且可以基于某个条件,例如时间或者地理位置。这个异常强大,好像可以在通知里包含图片和视频了,貌似可以拦截并替换自己 app 发下来的 payload。

5 Speech Recognition  见闻知意,语音识别 API,可以把音频流实时的转换为文本。虽说早期版本已经有了TTS语音转文字,但毕竟Siri语义识别的加入让机器对自然语义的把握更精准,详见Speech.framework

6 App Search Enhancements 对 CoreSpotlight 的增强,其中我比较感兴趣的是 Visualization of validation results。

7 Widget Enhancements 为了配合 iOS 10 锁屏下面 Widget 的体验,苹果提供了 widgetPrimaryVibrancyEffect 和 widgetSecondaryVibrancyEffect 用于定制化 Widget 的界面。

8 CallKit  非常重要的 API,继2014年苹果推出VoIP证书后,这次VoIP 接口的开放,以及一个全新的 App Extension,简直是VoIP的福音,可见苹果对VoIP的重视。callkit框架 VoIP应用程序集成与iPhone的通话界面,给用户一个很棒的体验,锁屏后VoIP网络电话可以直接用iPhone系统UI接听了。用这个框架来让用户查看和接听电话的锁屏和VoIP管理联系人电话在手机APP的收藏夹和历史记录。callkit还介绍了应用程序的扩展,使呼叫黑名单拦截和来电识别。您可以创建一个应用程序扩展,可以将一个电话号码与一个名称联系起来,或者告诉系统当一个号码应该被阻止。“that enable call blocking and caller identification. You can create an app extension that can associate a phone number with a name or tell the system when a number should be blocked.” 大概是可以做电话黑名单功能了。按我的理解,也就是说你的网络电话可以拓展到系统电话中,锁屏时可以利用系统电话UI代为接听而不必解锁打开你的native App,再通过拓展关系把来电信息回调给你的native App。换句话说,今后的VoIP应用可以像iPhone系统电话那样享有很高的UI拓展权限,不同VoIP电话的通话记录都可能在电话应用里看到。

9 App Extensions  其实上面也有提到,iOS 10最重要的开发特点就是允许第三方应用对自带基础app的拓展关联, 全新 7 种 App Extension:

Call Directory(VoIP回调)

Intents(接Siri、Apple map等服务)

Intents  UI(接Siri、Apple map等服务的自定义界面)

Messages(iMessage拓展)

Notification Content(内容通知)

Notification  Service (服务通知)

StickerPack(iMessage表情包)

10 Custom Keyboard 对第三方键盘的改进  非常非常重要,第三方键盘一直都不能很方便的拥有长按地球键的功能,现在有了。通过 handleInputModeListFromView:withEvent: 可以弹出系统键盘列表。同时使用 documentInputMode 可以检测输入上下文中的语言,你可以对输入方式进行一些类似于对齐方式的调整。

另外需要注意的是,和以往历代iOS版本推出一样,新陈代谢,有新SDK、新API的开放,也会有旧的API被遗弃,所以好好检查你的项目,使用了被遗弃的API要尽快修改,以免不兼容!还有个要注意的问题 iOS10 对隐私权限的管理更为严格 ,比如访问的摄像头、麦克风等硬件,都需要提前请求应用权限、允许后才可以使用,或者现在要提前声明,虽然以往要求不严格。

在iOS10和Xcode8中遇到的其他问题:

1.iOS10 隐私权限问题 闪退 崩溃:

***This app has crashed because it attempted to access privacy-sensitive data without a usage description.  The app's Info.plist must contain an NSCameraUsageDescription key with a string value explaining to the user how the app uses this data.

NSContactsUsageDescriptioncontactsDesciption

NSMicrophoneUsageDescriptionmicrophoneDesciption

NSPhotoLibraryUsageDescriptionphotoLibraryDesciption

其中这个string值可以随意写:(只要是在给用户弹窗授权是描述使用目的的)

2.需要注意的是Xcode也是向前兼容的,在Xcode8上打开项目要小心,尤其是对于xib工程,在变动后可不要随意点保存,否则当你回头用Xcode7打开时时发现报错了,Xcode8 更新保存的xib 配置文件在xcode7上有些是识别不了的!

3.在Xcode8、iOS10SDK上新建iOS工程你将看到Message Application和Sticker Pack Application,后者是为iMessage表情包专门准备的,但是不需要代码。

4.Xcode8上调试工程啥也没干就打印一堆烂七八糟的东西,我这处女座看着不爽,具体也没细研究,目前的粗暴解决办法是去edit scheme的RUN Debug下的Arguments 里的环境变量(environment variables)下,添加设置Name:OS_ACTIVITY_MODE    --> Value: disable  不太建议。

5.使用Xcode8的同学应该发现以往习惯command+/来快捷注释代码 的功能失效了!这个是因为苹果提升xcode安全,默认把一些权限关闭了,比如默认把插件屏蔽了。解决方法命令运行:  sudo /usr/libexec/xpccachectl  有些须重启Mac或Xcode后生效

6.有部分同学反映说在iOS10下 tabbar不见了,不过我尚未没有见过这这种情况,可能我从2014年后基本所有的项目都用了storyboard和xib吧。建议确认规范一下初始化代码,或者在Xcode8下重构一下这部分代码或者使用storyboard。 据我所知,iOS10下UITabBarController并无新变化,只是iOS10 UITabBarItem多了个badgeColor和BadgeTextAttributes属性设置。

7.VoIP网络电话应用要引起重视了,没有使用VoIP推送的网络电话应用后台时iOS10 下已经明确警告⚠️:Legacy VoIP background mode is deprecated and no longer supported.赶紧使用PushKit吧,比传统的APNS推送更能保证即时性和省电了。

iOS10新特性及开发者要注意什么相关推荐

  1. iOS开发-iOS10新特性及开发者主要注意点

    看了WWDC2016直播,我们发现变得谨慎而开放的苹果在新一版四大平台系统中展示了很多变化,当然重中之重还是伟大的iOS.通过试用iOS10beta版,除了长大了的更强大的Siri主要感受到iMess ...

  2. WDC2106 iOS10新特性及开发者要注意什么

    昨晚苹果在旧金山召开了WWDC,看了WWDC2016直播,我们发现变得谨慎而开放的苹果在新一版四大平台系统中展示了很多变化,当然重中之重还是伟大的iOS.通过试用iOS10beta版,除了长大了的更强 ...

  3. 我所感兴趣的iOS10新特性

    ###SiriKit Siri API 的开放自然是 iOS 10 SDK 中最激动人心也是亮眼的特性.SiriKit 为我们提供一全套从语音识别到代码处理,最后向用户展示结果的流程.Apple 加入 ...

  4. iOS10新特性,适配教程,XCode8新特性

    iOS10 新特性 ###SiriKit SiriKit的功能非常强大,支持音频.视频.消息发送接收.搜索照片.预订行程.管理锻炼等等.在用到此服务时,siri会发送Intent对象,里面包括用户的请 ...

  5. iOS10新特性及Xcode8兼容适配资料整理

    iOS10新特性及Xcode8兼容适配资料整理 兼容iOS10资料整理 一.证书管理 Xcode8打开工程后,比较明显的就是下图了,这个是苹果的新特性,可以帮助我们自动管理证书.建议勾选这个Autom ...

  6. [IOS]IOS10新特性以及适配点(转)

    iOS 10 新特性以及适配点 SiriKit 所有第三方应用都可以用Siri,支持音频.视频.消息发送接收.搜索照片.预订行程.管理锻炼等 Proactive Suggestions 系统预先建议 ...

  7. iOS10新特性之SiriKit

    在6月14日凌晨的WWDC2016大会上,苹果提出iOS10是一次里程碑并且推出了十个新特性,大部分的特性是基于iPhone自身的原生应用的更新,具体的特性笔者不在这里再次叙述,请看客们移步WWDC2 ...

  8. iOS10 新特性-新功能,以及ReplayKit库

    iOS的10.0 本文总结了iOS的10,运行于目前推出iOS设备推出的主要开发者相关的功能. iOS版10引入了新的方法来增加您的应用程序通过帮助系统参与在适当的时候建议你的应用程序给用户.如果你在 ...

  9. iOS10新特性——————陈Hong鑫

    1推送 xcode 升级到8之后很多人的推送接收不到了.获取不到token了 一朋友搞了一小时没找到原因. 只因看下图吧-.我发觉xcode 我不打开他也能收到通知. 但是到了8(必须打开了才能收到推 ...

最新文章

  1. 用计算机解决问题的五个步骤,人们利用计算机解决问题的基本过程一般有如下五个步骤....docx...
  2. java多态替换switch_使多态性无法解决那些switch / case语句的麻烦
  3. C++中对Mysql的操作函数可以参考以下blog中的内容
  4. Android Studio升级后报 method not found: 'runProguard'的错误
  5. Centos7安装时引导错误以及解决方案
  6. 安卓APP_ 其他(1) —— 程序的签名打包并在手机上运行
  7. 2021年你想转行吗?写给迷茫的你!
  8. 输出高电平程序c语言,51用c语言怎么编程检测US-100超声波测距模块echo/rx引脚输出高电平时间长度,,谁能给我个模板...
  9. Qt学习-------常用控件
  10. Java PC端微信、支付宝扫码支付(一)
  11. “知识资源细颗粒度建设和标签标引”规则规范心得说明
  12. 云终端服务器属于计算机设备吗,云终端不等于云电脑
  13. 小技巧 - 淘宝怎么联系人工客服?
  14. php有个schost.exe_svchost.exe是什么
  15. iLife '09测评
  16. leetcode加一
  17. 导航卫星系统实时可视化平台开发
  18. jQuery官网下载文档的步骤
  19. video 播放视频被x5内核浏览器劫持时的处理记录
  20. centos7下安装flex,bison

热门文章

  1. 华为mate20 pro Android,被谷歌移除的华为Mate 20 Pro重回Android Q名单
  2. 用python画皇冠_【推荐】手把手教你如何用Python画一棵漂亮樱花树含源码
  3. 2019BNUZ_ACM国庆欢乐赛题解
  4. 如果只想推广俄语语言市场该如何利用谷歌?
  5. 视频收集、视频征集、视频采集、征集视频、收集视频、采集视频工具/小程序
  6. 腾讯云个人账号如何多开注册8个新用户账号
  7. LeetCode 427. 建立四叉树
  8. w7计算机休眠网络就断了,设置Win7电脑休眠时不断开WiFi教程
  9. B站试用期刚过,被HR和大老板一起谈话,说我工作没任何问题,但今晚必须走人!...
  10. C语言如何制作dIL文件,C语言怎么加循环