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技术的更多相关文章

  1. Apple Watch 1.0 开发介绍 1.2 简介 配置Xcode工程

    WatchKit app需要一个现有的iOS app.在iOS app工程中,添加一个新的WatchKit app target,它包含了WatchKit app和WatchKit extension ...

  2. Apple Watch 1.0 开发介绍 1.3 简介 WatchKit App 架构

    WatchKit app和WatchKit extension一起实现了app的界面.当用户在Apple Watch中操作时,WatchKit app从storyboards中选择合适的场景.比如,如 ...

  3. Apple Watch 1.0 开发介绍 1.1 简介 开发苹果手表

    使用Apple Watch,用户可以使用一种不显眼的方式查看信息.不用把iPhone从口袋里拿出来,就可以通过看一下手表快速获得重要信息. 作为Apple Watch的第三方app开发者,应该通过使用 ...

  4. Apple Watch 1.0 开发介绍 2.1 WatchKit Apps UI要点

    实现app的开始是定义storyboard场景.每个场景定义了app的一部分界面.可以为不同的尺寸自定义场景. 组装storyboard界面 WatchKit app和iOS app的布局模式不同.组 ...

  5. android 蓝牙4.0 开发介绍

    最近一直在研究一个蓝牙功能 由于本人是菜鸟  学起来比较忙 一直搞了好久才弄懂 , 网上对蓝牙4.0也就是几个个dome 抄来抄去,全是英文注解 , 对英语不好的朋友来说 真是硬伤 , 一些没必要的描 ...

  6. iOS开发之圆角指定 分类: ios技术 2015-05-25 16:26 191人阅读 评论(0) 收藏

    如果需要将UIView的4个角全部都为圆角,做法相当简单,只需设置其Layer的cornerRadius属性即可(项目需要使用QuartzCore框架).而若要指定某几个角(小于4)为圆角而别的不变时 ...

  7. scratch3.0二次开发scratch3.0基本介绍(第一章)

    为什么要自己开发而不使用官方版本? 这个问题要看我们的做少儿编程教育的需求是怎么样的. scratch本身提供了离线版本以及官网在线平台供我们使用,这足以满足我们对于编程教学模块的需求.但是对于一些教 ...

  8. 从0开发3D引擎(补充):介绍领域驱动设计

    我们使用领域驱动设计(英文缩写为DDD)的方法来设计引擎,在引擎开发的过程中,领域模型会不断地演化. 本文介绍本系列使用的领域驱动设计思想的相关概念和知识点,给出了相关的资料. 上一篇博文 从0开发3 ...

  9. 从0开发3D引擎(二):准备预备知识

    大家好,本文介绍了开发3D引擎需要的预备知识,给出了相关的资源. 上一篇博文 从0开发3D引擎(一):开篇 了解Web 3D Web 3D的历史 目前Web 3D是基于WebGL这个Web端3D AP ...

随机推荐

  1. Matlab---串口操作---数据採集篇

    matlab功能强大,串口操作也非常easy.相信看过下面两个实验你就能掌握咯! 開始吧! 实验1: 从电脑COM2口读取数据.并将数据保存在TXT文件里,方便数据分析,以下是M脚本: %名 称:Ma ...

  2. 在Windows通过使用MinGW静态编译Assimp

    使用MinGW静态编译Assimp 到了5月份了.没有写一篇日志,于是自己从知识库里面拿出一篇文章充数吧.这次将要解说怎样在Windows下使用MinGW静态编译Assimp. Assimp是眼下比較 ...

  3. ARM架构和编程-4

    ARM中断异常处理: ARM系统中止品种:按中断处理降序排列优先级:重置.数据访问中止.高速中断请求.外部中断请求.预取中止.令.软件中断. ARM体系中的异常中断向量表: 0x0 复位 0x4 没有 ...

  4. SSDTHook实例--编写稳定的Hook过滤函数

    解说怎样写Hook过滤函数,比方NewZwOpenProcess.打开进程. 非常多游戏保护都会对这个函数进行Hook. 因为我们没有游戏保护的代码,无法得知游戏公司是怎样编写这个过滤函数. 我看到非 ...

  5. 【Energy Big Data】能源互联网和电力大数据

    背景 今年的政府工作报告突出了互联网在经济结构转型中的重要地位,报告明白指出:要制定"互联网+"行动计划,推动移动互联网.云计算.大数据.物联网等与现代制造业结合,促进电子商务.工 ...

  6. RAC优化大框架的分配(jumbo frame)

    RAC优化大框架的分配(jumbo frame) 首先讲讲MTU的概念:在网络通信中,有个MTU(Max Transmission Unit)的概念,即网络传输中最大帧的大小,这个值默认是1500By ...

  7. 服务器编程入门(4)Linux网络编程基础API

      问题聚焦:     这节介绍的不仅是网络编程的几个API     更重要的是,探讨了Linux网络编程基础API与内核中TCP/IP协议族之间的关系.     这节主要介绍三个方面的内容:套接字( ...

  8. python手记(48)

    #!/usr/bin/env python # -*- coding: utf-8 -*- #http://blog.csdn.net/myhaspl #code:myhaspl@qq.com imp ...

  9. Uva10290 - {Sum+=i++} to Reach N

    Problem H {sum+=i++} to Reach N Input: standard input Output:  standard output Memory Limit: 32 MB A ...

  10. 【cocos2d-js官方文档】十、log

    api修改情况.左边为新增,右边为原来的. cc.log 不变 cc.warn 新增 cc.error 新增 cc.assert <-- cc.Assert 此次改造有下面几点原因: 加入原来没 ...