Apple Watch无疑是apple在智能手表领域的一次革命,如何在Watch上开发出实用且具备美感的应用,是iOS开发者们开始思考的一个问题,因为watch的随身性和快捷性,在某些方面,它有比iphone更加大的优点,要抓住watch的这些特色,开发出淋漓尽致的应用,就须要改变一些在iphone开发的思路,正如一句话:只有忘掉经验,才会有意想不到的突破。架构
这一系列博客,首先是总结我在公司watch项目开发中的一些经验,其次,还会加入一些个人理解和想法,若有错误,欢迎指正,若是对你有帮助,也欢迎撒花,😄。app
若是你没有开发过iphone,直接来作watch,我建议你不要这么作,不是不能够,而是目前全部的第三方应用都必须基于iphone的扩展,原生的watch应用,苹果目前尚未开放给开发者,所以实际上,咱们在watch上能够作的事情十分有限,或许后续apple会开放更多接口,可是目前,咱们必须放弃iphone开发的思路,重新开始。框架
如上所说,彻底脱离iphone的原生watch应用,咱们目前还不能开发,全部第三方的watch应用必须基于一个iphone的host app。咱们能够经过建立一个watch应用来观察一下,首先,在Xcode6.3后虽然支持watch的开发,但watch模拟器并不十分好用,Xcode7进行了优化,经过模拟器,基本能够完成咱们的开发。用Xcode新建一个项目,以后咱们在Xcode菜单中建立一个target:iphone
选择apple Watch中的项目:布局
在以下的设置中,咱们先将include Notification和Include Glance都勾选上,他们也是watch应用的一种表现方式,后面咱们再说:优化
以后能够看到,咱们的项目中会多了这样的几个文件夹:spa
咱们只须要关注下结尾为Extension和App的这两个,从目录结构咱们也能够看到,App文件夹中有Storyboard这个文件,Extension文件夹中主要是一些代码文件,这也正是咱们须要了解的watch app的机制,实际运行与咱们手表上的是App文件夹中的界面,而逻辑的代码其实是运行在咱们的手机中的,做为iphone App的扩展而存在,经过手机与手表的交互,来达到watch上的一些操做。code
由此,咱们能够理解,目前的第三方watch应用,watch相似于一个UI容器,经过与iphone的交互来达到一些逻辑和效果。接口
在咱们建立watch的扩展时,咱们勾选了两个Scene,从字面咱们也能够理解的差很少,这里加上个人理解,不是官方的解释:ip
watch app:watch应用的主体,能够经过watch上的图标进入,能够与iphone进行交互与数据共享。
Notification:watch通知,会和iphone通知同步,包括本地的和远程的,这里和iphone不一样在于有长通知和短通知的分别,在实际开发中,咱们能够经过在后台添加参数来区分。在storyboard中的界面以下:
Glance:预览界面,没有复杂的交互能力,也不能滑动,只能在单屏展现一些数据,点击后会进入主体watchApp中:
选中咱们的watch App工程,在Xcode7中运行以下:
若是你是之前版本的Xcode,可能须要在模拟器的Hardware中将其调出。
运行后,咱们能够在watch模拟器上使用command+H来回到watch的主界面。
一、优秀的watch app无疑必须是简单,朴素,快捷而时效的。
二、watch上不能自定义手势,咱们可使用的只有滑动,点击和长按
三、必须改变iphone布局的思想,彻底接受新的watch布局特色,进行创新
四、iphone的特色是界面的绚丽,watch则是简约
专一技术,热爱生活,交流技术,也作朋友。
——珲少 QQ群:203317592