为Apple Watch而战-----(初级篇)
重要
本文档是开发过程中使用的API或者技术的初步文档。苹果提供该文档以便于开发者使用苹果产品上使用技术和编程接口。后期该文档中信息会有所变动,所以依据本文档开发的软件应当使用最终的操作系统软件进行测试。该文档的新版本会进一步提供API或者技术的测试版。
Apple Watch为用户提供了一个私人的且不唐突的方式来访问信息。用户瞥一眼Apple Watch就可以获得许多重要的消息,而不用从口袋中掏出他们的iPhone。Apple Watch专用应用程序应尽可能地以最直接的方式提供最最相关的信息来简化交互。
Apple Watch的正常运行需要iPhone运行相关的第三方应用。创建第三方应用需要两个不同的可执行文件:在Apple Watch上运行的Watch应用,以及在用户iPhone上运行的WatchKit应用扩展。Watch应用只包含与应用程序的用户界面有关的storyboards和资源文件。WatchKit应用扩展则包含了用于管理、监听应用程序的用户界面以及响应用户交互的代码。借助这两种可执行程序,您可以在Apple Watch上运行不同类型的用户界面:
· Watch应用拥有iOS应用的完整用户界面。用户从主界面启动手表应用,来查看或处理数据。
· 使用glance界面以便在Watch应用上显示即时、相关的信息,该界面是可选的只读界面。并不是所有的Watch应用都需要使用glance界面,但是如果使用了它的话就可以让用户方便地访问iOS应用的数据。
· 自定义通知界面可以让您修改默认的本地或远程通知界面,并可以添加自定义图形,内容以及设置格式。自定义通知界面是可选的。
Watch应用需要尽可能实现Apple Watch提供的所有交互动作。由于Watch应用目的在于扩展iOS应用的功能,因此Watch应用和WatchKit应用扩展将被捆绑在一起,并且都会被打包进iOS应用包。如果用户有与iOS设备配对的Apple Watch,那么随着iOS应用的安装,系统将会提示用户安装相应的Watch应用。
创建Watch应用
Watch应用是在Apple Watch上交互的主体。Watch应用通常是从Apple Watch的主屏幕上访问,并且能够提供一部分关联iOS应用的功能。Watch应用的目的在于让用户快速浏览相关数据。
Watch应用与在用户iPhone上运行的WatchKit应用扩展协同工作,它不包含任何自定义代码,仅仅只是存储了故事板以及和用户界面相关联的资源文件。WatchKit应用扩展是实现这些操作的核心所在。它包含了页面逻辑以及用来管理内容的代码,实现用户操作响应,并且刷新用户界面。由于应用扩展是在用户的iPhone上运行,因此它能轻易地和iOS应用协同工作,比如说收集坐标位置或者执行其他长期运行任务。
要开始创建Watch应用,请参考:App Essential
创建Glance界面
Glance是一个展示即时重要信息的密集界面。glance中的内容应当言简意赅,因为其目的是让用户迅速地查看消息。Glance不支持滚动,因此整个glance界面只能在单个界面上显示,您需要保证它拥有合适的大小。glance只允许只读,因此不能包含按钮、开关,或者其它交互动作。点击glance则会直接启动您的Watch应用。
您需要在WatchKit应用扩展中添加管理glance的代码。用来管理glance界面的类与Watch应用的类相同。虽然如此,但是很明显glance更容易实现,因为其无需响应用户交互动作。
要开始创建glance界面,请参阅:Glance Essentials
自定义通知界面
Apple Watch能够和与之配对的iPhone协同工作,来显示本地或者远程通知。Apple Watch首先使用一个小窗口来显示进来的通知。当用户移动手腕希望看到更多的信息时,这个小窗口便会显示更详细的通知内容。应用可以提供详情界面的自定义版本,并且可以添加自定义图像或者改变系统默认的通知信息。
Apple Watch支持iOS 8中引入的交互式通知。交互式通知通过在通知上添加按钮来让用户立即做出回应。比如说,一个日历时间通知可能会包含了接收或拒绝某个会议邀请的按钮。只要你的iOS 应用支持交互式通知,那么Apple Watch就会自行向自定义或默认通知界面上添加合适的按钮。你所需要做的只是在WatchKit应用扩展中处理这些事件而已。
想要创建一个自定义通知界面,请参看:Notification Essentials.
为Apple Watch而战-----(初级篇)的更多相关文章
- Python 正则表达式入门(初级篇)
Python 正则表达式入门(初级篇) 本文主要为没有使用正则表达式经验的新手入门所写. 转载请写明出处 引子 首先说 正则表达式是什么? 正则表达式,又称正规表示式.正规表示法.正规表达式.规则表达 ...
- python 面向对象初级篇
Python 面向对象(初级篇) 概述 面向过程:根据业务逻辑从上到下写垒代码 函数式:将某功能代码封装到函数中,日后便无需重复编写,仅调用函数即可 面向对象:对函数进行分类和封装,让开发" ...
- 25个增强iOS应用程序性能的提示和技巧(初级篇)
25个增强iOS应用程序性能的提示和技巧(初级篇) 标签: ios内存管理性能优化 2013-12-13 10:53 916人阅读 评论(0) 收藏 举报 分类: IPhone开发高级系列(34) ...
- ASP.NET MVC 随想录——开始使用ASP.NET Identity,初级篇(转)
ASP.NET MVC 随想录——开始使用ASP.NET Identity,初级篇 阅读目录 ASP.NET Identity 前世今生 建立 ASP.NET Identity 使用ASP.NET ...
- python_way ,day7 面向对象 (初级篇)
面向对象 初级篇 python支持 函数 与 面向对象 什么时候实用面向对象? 面向对象与函数对比 类和对象 创建类 class 类名 def 方法名(self,xxxx) 类里面的方法,只能 ...
- Entity Framework 学习初级篇--基本操作:增加、更新、删除、事务(转)
摘自:http://www.cnblogs.com/xray2005/archive/2009/05/17/1458568.html 本节,直接写通过代码来学习.这些基本操作都比较简单,与这些基本操作 ...
- NSIS安装制作基础教程[初级篇], 献给对NSIS有兴趣的初学者
NSIS安装制作基础教程[初级篇], 献给对NSIS有兴趣的初学者 作者: raindy 来源:http://bbs.hanzify.org/index.php?showtopic=30029 时间: ...
- Python开发【第七篇】:面向对象 和 python面向对象(初级篇)(上)
Python 面向对象(初级篇) 51CTO同步发布地址:http://3060674.blog.51cto.com/3050674/1689163 概述 面向过程:根据业务逻辑从上到下写垒代码 ...
- (转)[jQuery]使用jQuery.Validate进行客户端验证(初级篇)——不使用微软验证控件的理由
以前在做项目的时候就有个很大心病,就是微软的验证控件,虽然微软的验证控件可以帮我们完成大部分的验证,验证也很可靠上手也很容易,但是我就是觉得不爽,主要理由有以下几点: 1.拖控件太麻烦,这个是微软控件 ...
- Entity Framework 学习初级篇7--基本操作:增加、更新、删除、事务
本节,直接写通过代码来学习.这些基本操作都比较简单,与这些基本操作相关的内容在之前的1至6节基本介绍完毕. l 增加: 方法1:使用AddToXXX(xxx)方法:实例代码如下: ...
随机推荐
- mysql InnoDB: Assertion failure in thread xxxx in file ut0mem.cc line 105
mysql InnoDB: Assertion failure in thread xxxx in file ut0mem.cc line 105 错误信息 InnoDB: Assertion fai ...
- sql调优的总结
sql调优的总结 列类型尽量定义成数值类型,且长度尽可能短,如主键和外键,类型字段等等 建立单列索引 根据需要建立多列联合索引 当单个列过滤之后还有很多数据,那么索引的效率将会比较低,即列的区分度较低 ...
- springboot核心技术(二)-----自动配置原理、日志
自动配置原理 配置文件能配置的属性参照 1.自动配置原理: 1).SpringBoot启动的时候加载主配置类,开启了自动配置功能 @EnableAutoConfiguration 2).@Enable ...
- python 获取公网 ip
from urllib2 import urlopen my_ip = urlopen('http://ip.42.pl/raw').read() print 'ip.42.pl', my_ip fr ...
- mybatis # $的区别
1 #是将传入的值当做字符串的形式,eg:select id,name,age from student where id =#{id},当前端把id值1,传入到后台的时候,就相当于 select i ...
- IO流12 --- 转换流InputStreamReader --- 技术搬运工(尚硅谷)
InputStreamReader 将字节输入流转换为字符输入流 @Test public void test1(){ InputStreamReader isr = null; try { //字节 ...
- storm运行服务器一些错误解决、
java.lang.RuntimeException: Returned channel was actually not established 重启试试 Java.lang.NoSuchMetho ...
- Hadoop 集群的建立与安装
- 彭亮—Python学习
1.1 Python简单介绍 1.2 安装Python和配置环境 1.配置Python 1.1 下载Python(直接去官网下载就可以) 1.2 安装Python(点解默认安装即可 ...
- Luogu P2486 [SDOI2011]染色(树链剖分+线段树合并)
Luogu P2486 [SDOI2011]染色 题面 题目描述 输入输出格式 输入格式: 输出格式: 对于每个询问操作,输出一行答案. 输入输出样例 输入样例: 6 5 2 2 1 2 1 1 1 ...