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 ...
随机推荐
- mac和windows系统下 eclipse svn 设置代理服务器
公司svn服务器在海外,有时候迫不得已svn也得设置代理 网上查了好长时间都只有windows下如何设置,mac系统下的教程很少. 1.在windows下设置方法如下 找到C:\Documentsan ...
- OPEN-E安装中注意的问题
安装OPEN-E的时候,OPEN-E需要单独安装到存储硬盘外的硬盘上,否则是没有办法使用安装了OPEN-E的硬盘上的空间的. OPEN-E免费许可证的容量问题 安装OPEN-E后申请的试用key只能试 ...
- Linux mysql 数据库忘记root密码
1.修改MySQL的登录设置: # vi /etc/my.cnf 1在[mysqld]的段中加上一句:skip-grant-tables 保存并且退出vi. 2.重新启动mysqld # /etc/i ...
- SQL Server 2008备份数据库失败,拒绝访问的原因
原文:SQL Server 2008备份数据库失败,拒绝访问的原因 备份数据到特定目录是出现拒绝访问,然后测试备份到C盘根目录正常. 查了下原因: 是因为那个目录没有Authenticated Use ...
- socket用法
INADDR_ANY是ANY,是绑定地址0.0.0.0上的监听, 能收到任意一块网卡的连接:INADDR_LOOPBACK, 也就是绑定地址LOOPBAC, 往往是127.0.0.1, 只能收到127 ...
- jps查看java进程中哪个线程在消耗系统资源
jps或ps -ef|grep java可以看到有哪些java进程,这个不用说了.但值得一提的是jps命令是依赖于/tmp下的某些文件 的. 而某些操作系统,定期会清理掉/tmp下的文件,导致jps无 ...
- 神经网络BP算法C和python代码
上面只显示代码. 详BP原理和神经网络的相关知识,请参阅:神经网络和反向传播算法推导 首先是前向传播的计算: 输入: 首先为正整数 n.m.p.t,分别代表特征个数.训练样本个数.隐藏层神经元个数.输 ...
- Python学习入门基础教程(learning Python)--3.3.1 Python下的布尔表达式
简单的说就是if要判断condition是真是假,Python和C语言一样非0即真,所以如果if的condition是布尔表达式我们可以用True或者非0数(不可是浮点数)表示真,用False或者0表 ...
- Android (1) - Activity
onCreate(Bundle status) --> setContentView(View view) --> findViewById(int id) Intent intentFo ...
- linux sed命令详解(转)
简介 sed 是一种在线编辑器,它一次处理一行内容.处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的 ...