重庆分公司,新征程启航

为企业提供网站建设、域名注册、服务器等服务

ios开发之路,IOS开发工程

iOS开发 - 语音播报功能的实现

近期项目中有个需求就是要实现类似微信或者支付宝的收款时的语音播报功能,于是笔者就开始了漫长的踩坑之路。

10多年的罗庄网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。成都营销网站建设的优势是能够根据用户设备显示端的尺寸不同,自动调整罗庄建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。创新互联从事“罗庄网站设计”,“罗庄网站推广”以来,每个客户项目都认真落实执行。

刚开始讨论实现方案时,安卓的小伙伴说可以使用WebSocket + 讯飞语音在线合成实现。于是最初的几天笔者自己也一直在这条路上走了很久,基本功能都已经实现了,项目在前台的时候,基本没问题。但是项目一进入后台大概半分钟的时间,就无法播报了。原因是iOS项目如果不做任何处理的话,在进入后台大概30s之后,程序就会进入类似休眠的状态,然后就不会再进行任何操作了

跟安卓的同事讨论之后,发现安卓有方法可以让程序一直在后台处于活跃状态,于是笔者也开始找寻保持项目后台运行的方法,大概有两种

在这里我们并没有发现,程序在后台收到推送时,作相应处理的方法,哪到底能不能收到推送后就进行处理呢?

iOS 10 之后 iOS推出了Notification Service Extension,我们可以在收到推送之后,通过这个Extension 我们可以有三十秒的时间来对这个推送进行处理

完成之后长这样

然后我们配置一下NotificationService

然后我们看下NotificationService.swift文件

在完成上述操作之后,再次收到推送的话,就会走NotificationService的逻辑了,可以打断点或者Log测试一下

需要注意的是 在推送的内容中 必须配置mutable-content字段,结构大致如下

做完上边的操作之后,我们可以知道什么时候去播报语音了,但是语音又要怎么去播报呢?

笔者这边也是试过几个方案,下边一一说来

笔者刚开始使用讯飞发现不行,然后又测试了系统自带的AVSpeech,发现也不好用,查资料才知道,苹果在近期的版本中,停用的在NotificationService中播放语音的功能,之前的某个版本应该可以这么操作。好吧,此方案Pass

既然不让我播,那我存起来总可以了吧,测试发现讯飞在线生成是可以的,也可以存到本地,但。。。是,UNMutableNotificationContent的sound好像只支持提前添加到项目中的文件,并不支持立即生成之后存到本地,然后再设置的功能。。。

笔者在项目中预先生成的文件如下(语音包通过百度语音开放平台在线生成 百度语音在下生成(拉到中间就有了) )

比如说我要播放“支付宝到账100元”,我就会发放多个通知,依次播放wx-pre,1,bai,yuan这几个语音,连贯起来就能达到要求

笔者能力有限,暂时想到的方法就是这个,有好的方法可以多多分享,沟通

有什么学习IOS的书推荐

第一步,精读 Stephen G. Kochan 的《Objective-C程序设计》:Objective-C语言基础,iOS开发的第一技能就是精通Objective-C; 第二步,有了语言基础,精读 David Mark 的《精通iOS开发》:通过各种单独的项目,熟悉iOS SDK,XCode开发环境,明白MVC、委托等设计模式,通读完后,你就对iOS SDK有了比较全面的认识,各种框架和组件有了一定的认识; 选择性阅读了Matt Neubury 的《iOS程序设计》:本书是iOS最系统的教程,对iOS框架的底层有比较详细的介绍,深刻了我对iOS的理解。如果你是一名不仅仅想使用iOS SDK开发,还想理解底层是怎么运行实现的,那就阅读它。如果没看David Mark的《精通iOS开发》直接阅读这本教程会非常的吃力和枯燥无味,所以我建议在学习的过程中,把它作为资料库来查询,遇到想深入学习的某一方面,就选择性阅读本书的一些章节; 有了上面的一些知识,研究一些github上的优秀的项目或者从cocoaChina上找些感兴趣的代码推荐内容并且阅读源码,最好还可以在自己的DIY项目中使用上它们。还可以阅读Bear Cahill 的《iOS in Practice》:通过9个上架的应用,加深对iOS SDK的认识和理解; 到这时候,就会遇到瓶颈,希望更上一层楼。我自己的做法是通过看公开课或者中国上的开发视频,不是让你重新学习,因为身边没人带,所以这么做让你看到别人是怎么编码,别人的编程思路是什么,并且能将你前段时间学习的内容进一步巩固。 接下来当然是iOS进阶了。可以开始阅读David Mark的另一本畅销书《iOS6开发进阶与实战》,主要深入讲解了Core data,map Kit,Game Kit,iCloud,iOS安全等。 在第5和第6步的过程中,可以一点一点阅读Matt Galloway 的《Effective Objective-C 2.0》:介绍52个编写高质量IOS与OS X代码的方法; 与此同时,要学会使用下面一些中国站和工具,学会使用这些中国站和工具,才能是你的开发之路可持续发展

iOS如何转行前端开发

最近网络上流行的一句话“没有躺赢的命,就站起来奔跑”

马上要快到30岁的年纪了,我居然还想着改行到前端开发,这也是源于最初的的执念。2014年,最开始的想法是做前端开发,由于种种原因,没有去做前端开发而选择了iOS开发。

多年后,觉得,做iOS开发不是自己最喜欢的行业,于是,又开始启程前端开发的计划。

也许,这是对的选择,也许是错误的选择,但是,最终都需要为自己的选择而买单。

所以,我就开始了我的iOS转前端的漫长之路

接下来,我会记录每一段学习的心得和感触,以及所学的知识进行一个分享~

怎样开始 iOS 开发之路?要准备和学习什么

分阶段的进行学习:1、看视频(零掌握,系统的学习和了解),2、看书(对编程有了一定的掌握,作为补充和提高),3、看博客帖子(取长补短)。

依次学习和掌握:Objective-C语言基础,iOS交互开发,iOS高级进阶,前端技术(HTML,CSS,javascript),PHP与MySQL,项目实战等。

有一定的自学能力和自控能力,有一套完整的教程资料,熟练使用stackoverflower,segmentfault等站点解决技术性的问题,自学起来难度不会太大。反之,报个班系统的学习开发所需的专业技术。

急求app上架服务

在移动互联网飞速发展的今天,移动终端是兵家必争之地,无论你是做网络/通信还是做内容创意,无论你是设备厂商还是App开发者,都需要一本“平易近人”的书,陪你走在移动服务广阔的原野上。对于一位初学者而言,本书让你踏出iOS学习的第一步,从iOS SDK开始,到产品完善、上线(如发布到App Store上)都能一步到位,并最后成为iOS平台上的赢家。对于Android或Windows 8的开发者而言,本书完善的示例代码和分类,将非常有助于多平台对比开发和平行同步开发,从而协助大家在移动互联网时代能同时掌握多个主流平台。 ——高焕堂,亚太Android领域开发联盟总架构师 曾与关老师就智慧型手机与移动终端交换很多意见,并在后续与中国移动的合作案中,有幸与他一同参与,从中见识到关老师在移动终端开发与推广的热情。这是一本全面介绍iOS应用开发的图书,包括了iOS 6的相关内容,通俗易懂,深入浅出。对于iOS初学者以及需要提高的读者来说,这是一本优秀的学习参考书。本书不仅从理论出发,还提供了大量实战案例,相信对于移动应用开发者来说,这会是一本不可或缺的经典好书。 ——柯博文,美国硅谷LoopTek公司CTO,《大富翁》游戏开发者移动终端的发展日新月异,移动互联是未来趋势,本书结合大量案例讲述iOS应用开发技巧,便于读者掌握。尤其在进阶篇中,作者分享了自己在开发过程中的经验和心得。本书不仅从理论方面出发,还提供了大量实战案例。我们相信本书在你的iOS开发之路上会助你一臂之力。 ——智捷iOS课堂 关老师不仅是51CTO.com的专家博主,而且是51CTO关注移动开发的朋友们最为喜爱的一位博主。本书无疑是一本值得iOS初学者认真阅读的从入门到精通的教材。通过对本书的学习,你可以从一个对移动开发一窍不通的小白,逐步成长为一名iOS开发高手。当你看到自己的App上架时,你所得到的喜悦绝对会超出这本书自身的售价。 ——赵磊,51CTO副总编


网站名称:ios开发之路,IOS开发工程
标题路径:http://cqcxhl.cn/article/dscegis.html

其他资讯

在线咨询
服务热线
服务热线:028-86922220
TOP