Apple Watch 1.0 开发介绍 1.4 简介 使用iOS技术
WatchKit extension可以使用iOS app同样的技术,但是由于他是extension,使用有些技术的时候会有限制,有些不推荐使用。下面是一些介绍以及什么时候使用什么技术:
- 有些需要权限的操作需要在iPhone上同意。有些特殊的技术需要用户允许,比如位置信息。在WatchKit上使用这些技术会在iPhone上触发允许的提示。Apple Watch也会显示它自己的提示,比如通知用户在iPhone上查看权限申请。
- 不要使用后台执行技术。WatchKit extension只有在用户操作对应WatchKit app时才运行,可以被认为是前台插件。因此,WatchKit extensionbu不能使用后台模式。
- 避免使用长时间运行的技术。用户停止对应的WatchKit app时WatchKit extensino会立刻挂起。由于WatchKit app交互通常都比较简短,请求数据回来的时候extension可能已经挂起了。
执行长时间的任务的最好方法是让iOS来执行。比如,比起在WatchKit extension中启动位置信息服务,在iOSapp中启动更好。iOS app可以收集需要的数据然后放到共享区域让extension后面来使用。使用openParentApplication:reply:方法来初始化任务和接收结果,或者使用共享数据来在iOS app和WatchKit extension通讯。
支持Handoff
Apple Watch可以使用handoff来支持在其他设备上完成任务。使用WKInterfaceController的updateUserActivity:userInfo:webpageURL:方法来创建活动然后发送给其他设备。
除了glance,Apple Watch不处理其他设备创建的活动。在glance控制器中,可以使用活动的信息来筛选主app有用的信息。如果用户点击glance启动app,WatchKit会把活动的信息发送给app的主控制器。控制器可以根据内容来对应的更新界面。
远程事件以及正在播放的信息
Apple Watch使用远程事件来管理匹配iPhone视频或音频的播放。iOS app使用MPRemoteCommandCenter对象注册了才会在有正在播放的时候自动收到事件。在WatchKit extension中不需要做其他工作来支持远程事件。
注意:像喜欢,不喜欢或收藏,Apple Watch使用MPFeedbackCommand对象的localizedShortTitle替代了localizedTitle。
Now Playing glance自动显示当前播放app的“Now playing”信息。iOS app使用MPNowPlayingInfoCenter对象提供信息。当app播放内容,应该更新nowPlayingInfo信息。AppleWatch会自动取回这个信息来显示。点击正在播放的标题,如果有可用的app的话WatchKit会启动app。
Apple Watch 1.0 开发介绍 1.4 简介 使用iOS技术的更多相关文章
- Apple Watch 1.0 开发介绍 1.2 简介 配置Xcode工程
WatchKit app需要一个现有的iOS app.在iOS app工程中,添加一个新的WatchKit app target,它包含了WatchKit app和WatchKit extension ...
- Apple Watch 1.0 开发介绍 1.3 简介 WatchKit App 架构
WatchKit app和WatchKit extension一起实现了app的界面.当用户在Apple Watch中操作时,WatchKit app从storyboards中选择合适的场景.比如,如 ...
- Apple Watch 1.0 开发介绍 1.1 简介 开发苹果手表
使用Apple Watch,用户可以使用一种不显眼的方式查看信息.不用把iPhone从口袋里拿出来,就可以通过看一下手表快速获得重要信息. 作为Apple Watch的第三方app开发者,应该通过使用 ...
- Apple Watch 1.0 开发介绍 2.1 WatchKit Apps UI要点
实现app的开始是定义storyboard场景.每个场景定义了app的一部分界面.可以为不同的尺寸自定义场景. 组装storyboard界面 WatchKit app和iOS app的布局模式不同.组 ...
- android 蓝牙4.0 开发介绍
最近一直在研究一个蓝牙功能 由于本人是菜鸟 学起来比较忙 一直搞了好久才弄懂 , 网上对蓝牙4.0也就是几个个dome 抄来抄去,全是英文注解 , 对英语不好的朋友来说 真是硬伤 , 一些没必要的描 ...
- iOS开发之圆角指定 分类: ios技术 2015-05-25 16:26 191人阅读 评论(0) 收藏
如果需要将UIView的4个角全部都为圆角,做法相当简单,只需设置其Layer的cornerRadius属性即可(项目需要使用QuartzCore框架).而若要指定某几个角(小于4)为圆角而别的不变时 ...
- scratch3.0二次开发scratch3.0基本介绍(第一章)
为什么要自己开发而不使用官方版本? 这个问题要看我们的做少儿编程教育的需求是怎么样的. scratch本身提供了离线版本以及官网在线平台供我们使用,这足以满足我们对于编程教学模块的需求.但是对于一些教 ...
- 从0开发3D引擎(补充):介绍领域驱动设计
我们使用领域驱动设计(英文缩写为DDD)的方法来设计引擎,在引擎开发的过程中,领域模型会不断地演化. 本文介绍本系列使用的领域驱动设计思想的相关概念和知识点,给出了相关的资料. 上一篇博文 从0开发3 ...
- 从0开发3D引擎(二):准备预备知识
大家好,本文介绍了开发3D引擎需要的预备知识,给出了相关的资源. 上一篇博文 从0开发3D引擎(一):开篇 了解Web 3D Web 3D的历史 目前Web 3D是基于WebGL这个Web端3D AP ...
随机推荐
- 百度词典搜索_dress code
百度词典搜索_dress code dress code n.着装标准
- Android数据库高手秘籍(一)——SQLite命令
转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/38461239 要想熟练地操作不论什么一个数据库.最最主要的要求就是要懂SQL语言, ...
- mysql相关日志汇总
日志作为重要的查询问题的手段.所以尽量记录上自己须要的日志.以供自己查询一些问题. MySQL有下面几种日志: 错误日志: -log-err 查询日志: -log 慢查询日志: -log-slow-q ...
- HTML转义字符大全(转)
1.常用转义字符 转义字符串(Escape Sequence)也称字符实体(Character Entity).在HTML中,定义转义字符串的原因有两个:第一个原因是像“<”和“>”这类符 ...
- String的split
对于 http://10.13.30.22/svn/SVNRepository/UnChecked/Test 想要分割他就要用: String subContent[]=modelInfo.get ...
- Cordova CLI源码分析(一)——简介
本系列文章分析基于node.js的命令行工具Cordova CLI,所以如果对node.js基础不是很了解,建议参考http://nodejs.gamesys.net/node-js提供的基础教程 文 ...
- CF 439D(251D题)Devu and his Brother
Devu and his Brother time limit per test 1 second memory limit per test 256 megabytes input standard ...
- kafka解释三的具体:发展Kafka应用
一个.整体外观Kafka 我们知道.Kafka系统有三大组件:Producer.Consumer.broker . producers 生产(produce)消息(message)并推(push)送给 ...
- UVA 1513 - Movie collection(树状数组)
UVA 1513 - Movie collection option=com_onlinejudge&Itemid=8&page=show_problem&category=5 ...
- FlexPaper二次开发问题及搜索高亮显示
原文:FlexPaper二次开发问题及搜索高亮显示 最近有个需求,做一个IT知识库,类似于文库,说到文库肯定会用到在线浏览文档了,所有在网上翻阅了一下类似豆丁的在线浏览器插件的资料,将其进行了二次开发 ...