初识WatchOS,及其创建,生命周期
1.Watch app与iPhone app关系:Watch app只是iPhone app的扩展(Watch app不是独立的应用,在iPhone上运行的配对的app是必不可少的,而我们所构建的Watch app是iPhone app的扩展,所以Watch app的安装和管理,是由iPhone app负责,而且iPhone app和Wacth app可以相互沟通)
2.Watch app创建要求:WatchKit app运行在手表上,WatchKit Extension运行在iPhone上
3.用户交互方式:启动应用,Glance Interface(概览界面),Notification Interface(通知界面)
创建工程步骤:1.先创建一个普通iOS工程 2.File -> New -> target -> watchOS
系统默认选择Inclode Notification Secen(通知界面)也可以不选择,不过官方建议是选择的,应为通知界面需要一个json格式的文件(Watch Extension -> Supporting Files 就是这个Payload文件),而这个文件选择的话,那么系统会自动给我们生成。Include Glance Scene(概览界面)就要看自己开发情况
WatchKit App的生命周期
当用户在手表上进行操作的时候,就会启动WatchKit App,在启动的同时就要初始化(而这里的初始化主要是通过storyboard中来进行)在启动的时候,就要加载数据WatchKit 根据用户的选择来初始化storyboard中的场景和相对应的InterfaceController(在storyboard中,有相对应的场景,如果用户选择的是Glance界面那么watchKit就会在storyboard中初始化Glance Scene概览场景)加载场景后,就是初始化UI。而初始化UI,可以调用InterfaceController当中的初始化方法或者awakeWithContext这两个方法
InterfaceController的主要功能就是进行逻辑应用与更新UI数据,当用户界面将要出现之前,会调用InterfaceController当中的willActivate这个方法(注意:初始化一个InterfaceController并不能调用willActivate这个方法,这个方法只是在用户界面将要显示的时候,才会调用,或者是要进行一些动画等操作的时候才会调用这个方法)
InterfaceController相当于iOS中的viewcontroller,但是与viewcontroller不同的是,InterfaceController并不能管理视图,而管理视图的操作是通过watchKit来进行。
Interface Controller(界面控制器)的生命周期
当用户界面在手表上显示出来之后,用户再进行操作的时候,比如点击按钮,那么在InterfaceController当中调用按钮的响应方法来响应用户的操作,当用户停止操作的时候,就会调用didDeactivate这个方法,(1. WatchKit App是运行在watch上,通过storyboard来进行UI的布局,而watchKitExtension运行在手机端(主要功能更新数据,实现对应的响应方法))