说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

微软前员工:开发Apple Watch应用的27个技巧

HTML文档下载 WORD文档下载 PDF文档下载
曾在微软工作12年的Mike Swanson从1月开始就一直在捣鼓开发Apple Watch应用,在此开发过程中,他总结了诸多WatchKit的开发建议与技巧,并将其整理成文,希望对Apple Watch应用开发者们能够有所启发。

自一月中旬以来,我就全身心投入到WhereNotes应用的Apple Watch版本的开发上了,并幸运地受邀参加了库比蒂诺苹果总部的Apple Watch实验室测试。在过去的三个半月里,我整理了诸多WatchKit的开发建议和技巧,并将重点内容列在这里,希望对Apple Watch应用开发者有所启发。


1. WatchKit的NSExtensionContext通知

可能对诸多开发者来说,UIApplication上的函数方法并不陌生,比如applicationWillEnterForeground:和applicationDidEnterBackground:,两者都是先被调用,再分别发出UIApplicationWillEnterForegroundNotification和UIApplicationDidEnterBackgroundNotification的通知。而WatchKit的 NSExtensionContext通知则包括:

  • NSExtensionHostWillEnterForegroundNotification
  • NSExtensionHostDidEnterBackgroundNotification
  • NSExtensionHostWillResignActiveNotification
  • NSExtensionHostDidBecomeActiveNotification

2. 充电测试更有效

在Apple Watch充电时进行测试,测试过程更容易,结果也更可靠,这一点不仅仅是我,其他Apple开发者论坛上的同行也深有体会。

3. WatchKit只能在当前活动/可见的视图控制器上更新

在iOS上几乎可以随时更新界面元素,但WatchKit只能在当前活动/可见的视图控制器上更新。只要didDeactivate还没有调用,就能顺利完成更新(注意:界面元素不能用didDeactivate更新)。这也就意味着:开发者想 要更新一个当前隐藏起来的视图控制器(比如查看一个模态控制器“on top”),就必须用当前控制器的willActive方法来更新,而willActive只有在取消(dismiss)模态控制器时才能被调用。

4. addCachedImage:name缺省使用PNG编码

除了WatchKit应用捆绑包里的资源,每个应用还享有5MB容量的图片缓存空间,用WKInterfaceDevice上的方法来放置扩展,并用扩展进行管理。从扩展向Watch发送图片会消耗时间和电量,所以如果要再次使用某张图片(即使只用过一次),最好将它缓存起来;如果用addCachedImage:name:来发送图片,它会自动以PNG格式缓存起来(也许PNG格式并不是最合适的,但至少是最保险的)。如果图片能以JPG格式再次呈现的话,那么建议改用addCachedImageWithData:name: 来发送。以JPG格式储存图片后再试试画面设置,图片转换不仅更快,还省下了不少缓存空间,方便储存更多图片。

5. 支持后台线程缓存图像

依然跟上一条建议相关:开发者可以在后台线程上缓存图片(开发者论坛的一名苹果员工如是说)。我在开发Watch应用时尝试了一下,图片在读取之前就缓存好了。

6. 开发者需自行封装图片管理器

要使用上述的图片缓存的话,并无内置的方法来检测最早的图片。若应用同时管理很多图片,可能需要在缓存里设立一个单独的管理器。

7. 测试通知功能时记得关闭手腕感应

在Apple Watch上测试通知功能时,需要在其Companion(伙伴)应用的通用设置里关掉Wrist Detection(手腕感应)。

8. 若要强制退出应用,长按侧键打开Friends应用

要强制退出应用,就单击侧键打开Friends应用,然后再按一次(注意,强制退出应用不代表强制退出扩展)。

9. 尽可能地精简willActivate操作,缩短加载时间。

10. 先Watch后iPhone App

如果用户在你的iPhone应用之前抢先发布Watch App就不妙了,所以留点心,别让苹果的应用审核快你一步发现问题。

中航信资深分析师李洋:自主搭建云平台 助力民航业低成本迎接大数据挑战 安全狗创始人陈奋:借助Hadoop与Spark,欲打造服务器上的360 业界良心:Square开源Viewfinder,25万行代码全公布! 比尔·盖茨:核心业务Bing虽不赚钱,却不能拆分 不可错过,参加第六届中国云计算大会的十大理由 章津楠:未来三年,OpenStack将成为企业去V首选 EMC收购闪存初创公司DSSD,走出联合储存战略第一步 创业失败的七个原因及解决之道 集结号:最受开发者欢迎的跨平台游戏引擎 Cocos2d-x v3.0正式版本发布!优化C++、Lua、JavaScript接口 定价99元首发1万台 360安全路由器启动预约 AMD新产品线曝光 首次实现X86与ARM针脚融合 IT界最难以替代的9个角色 《近匠》英特尔® XDK:从开发、测试到部署,一站式HTML5开发工具 手游云测工具TestBird:测试走入垂直细分领域 阿里巴巴赴美IPO的种种及马云内部邮件全文 盘点EMC World 2014三大看点 2014年Q1:智能手机总销量下滑,WP同比反增119% 着眼无人驾驶技术 英特尔投资日本ZMP公司 移动云服务UCloud快速扩张 成立北京分公司 精准推送 个推推出2.0产品“Smart Push” 从张小龙的七大价值观说开去 2014高德LBS应用大赛正式启动 助力打造生态圈 专访永洪科技CEO何春涛:管理者的炼成及国内大数据公司的挑战 R语言如何发展?商业支持或许可行 专访InMobi CEO Naveen Tewari:Banner广告已经OUT 效力苹果18年的资深高管Katie Cotton将退休 主打“全、新、独、准”,华为推出游戏中心平台 阿里云计算出海挑战亚马逊 首站香港及东南亚 TIOBE 2014年5月编程语言排行榜:Adobe ActionScript挤进Top20 秒杀iPad Mini?微软或将下月发布Surface Mini 设备管理器里面断口显示的是端口COM1和COM2,但是我的调只解调器里面的断口却是COM3和COM4,到底怎么回事呢?? :哪位大侠有多媒体方面编程的经验?请帮忙查看一下,谢谢。 DELPHI有史以来最大的难题! 二级联动菜单怎么搞啊??各位大虾救急啊!!! 请赐教 如何建立mts與com,dcom,com+通信,其中每種方式有何不同之處? 有个有关j2ee应用服务器的问题,很困惑!(急,一定给分!) 学习c和c++学要学习汇编吗????? 我先试一 下 关于得到文件的名字? 用5行代码就让系统重起的帖子怎么找不着了?谁告诉我?加分了!! 素女经 如何修改SQL数据库表中的数据 在对话框里输出文字?不要控件!!不要static 控件 一个关于打印的怪问题! 如何将数据库通过JDBC接收并将字段关键字连成一棵树(每一分支最多64节点) 救急!!!!!!!小妹我遇到一点问题! 今年就业形势“大好”! ******* 马上就给分,所以给的少了点,大家别介意 ******** 大家给点意见 请关注一个初学者的问题?我学sql但是不知未来的发展趋势!? 图形数据窗口(line 星)点太大,如何缩小 救急!!!!小妹我遇到一点问题! 用bcb制作动态网页 数据窗口 Graph 类型 line 样式 如何学c语言? Delphi中如何获的其它应用程序中的内容? 显示颜色变成只有16色和2色? DWORD 参数传递的问题。 那里有播放AVI文件的程序?谢谢! 参数传递问题!!大侠帮帮我 请帮我修改一下源代码(delphi)请帮忙改一下,让它打印了不往里(数据库)存。 BIOS设置,用电脑是不是可以当闹钟呢? 五笔输入法忽然不能用了 救就我,为什么Frame的客户区变小了?关于切分窗口 怎样查找某一个目录下一个表是否存在? 请问有用过李阳疯狂英语的朋友吗?请说说到底怎么样? 我想向各位大侠请教一个问题? 如何屏蔽TEXTBOX的回车响应? 关于《各位学习编程的目的是什么》的总结 m_pusrrcdset->m_pDatabase->ExecuteSQL("")为什么不行?老是ASSERT错误 请问我刚入bcb的大门,有什么好的参考书可以看看吗? 有没有人知道计算机等级考试四级怎么查分啊? 如何将几个数组的信息写成一个.txt文本文件 笔试题请教? 请教一个小问题! 好难呀好难呀!!!!! 今天狠了狠心买了一本<>,花了我十分之一的工资!心疼啊!散点分! 请问有谁知道如何在C#中使用DirectX? 我在Picturebox中用Picture1.print打了200行数据,可我只能看到前20行 填上合适的词语:( )态度 ( )作用 鼓舞( )填上合适的词语:( )态度 ( )作用 鼓舞( )请选择恰当模拟声音的词语填空:毕毕剥剥 扑踏扑踏 嗡嗡 呼呼 笃笃 叮咚叮咚 咯吱咯吱 根据字义组词全( ) 向远处看( )举:向上托( ) 望:意料( )推选( ) 探看( )看( ) 好办( )见:看法( ) 易:交换( )会面( ) 和气( ) 仓库运来一批粮食.其中小麦35吨,稻谷比小麦和黄豆的总数还多12吨.问:运来的黄豆比的稻谷少多少吨 已知集合A={α|2kπ≤α≤(2k+1)π,k∈Z},B={α|-4≤α≤4},则A∩B=非常疑惑的是 这里的α是表示弧度角度还是单纯的一个常数呢 好纠结 希望在解决题目的同时能帮我讲讲怎么判断一个数什么时候 根据字义组词语陷:1、掉进(),2、凹进(),3、陷害() 仓库运来一批粮食.其中小麦35吨,稻谷比小麦和黄豆的总数还多12吨.问:运来的黄豆比稻谷少多少吨 麦子已经成熟了,真是丰收在望.这句话哪儿错了 阅读“冬日雏菊自芬芳”第三自然段,请问小雏菊生长在一个怎样的环境中?作者为什么要特意写出这样的环境? 显露:( )(根据字义组词)根据字义组词,并用透组词, 用几句花描写麦子成熟后田野的景色,要用上打比方的方法 "我是班长"最后一个自然段起到了什么作用? 根据字义组词:算算:弄清是非算:计划,筹划.要明确一点!用算组词! 有树有麦子有鸟怎么写句子 搭石最后一自然段起什么作用 根据字义组词.稍稍喘息( )透穿过,通过( )到处都是( )漫随随便便( )断( )绝独一无二,没有可比的( ) 描写棉花成熟时的样子的语句 写叶子的古诗词五首以上 雏菊什么篱笆 灰尘的好处快些,我有急用 写叶子的诗句描写叶子的不论今、古、中、外诗歌散文均可最好附有赏析要附有赏析 雏菊 篱笆.黄昏雏菊 篱笆.黄昏 村庄.阳光 大海.把下面句子填写完整使他们读起来充满诗情画意. 灰尘有什么作用? 求带“叶”字的诗句和写叶子的诗句有急用,今天必须回答上! (拟人句)雏菊____________________篱笆.黄昏( )村庄 灰尘有哪些作用 在括号里填上合适的词语 ()的树叶风格 雏菊紧靠篱笆生长.(改写拟人句) 灰尘有那些好处 以知集合A={α|2kπ 雏菊.篱笆 黄昏.村庄 阳光.大海填写完整 灰尘对我们有什么好处说全点,不要抄小学语文课本上的那个 如何准确辨别雏菊、矢车菊和大波斯菊?各自的花语又是什么? 按字义组词张:1、铺排、陈列(组褒义词成语) 2、看望好:1、喜欢(组褒义词成语) 2、友爱各:1、逐个(组褒义词成语) 2、各个不同熟:1、成熟 2、习惯、常见、清楚要快,又快又好 麦子怎么组词. 第九题,为什么当A等于空集时,k+1大于2k? 我会根据字义组词章:歌曲诗文的段落() 条理() 章程()挽:拉() 哀悼死者()会几个,填几个 关于麦子的好词好句 一.在下面的空白处填上适当的词语,使句子变成拟人句.1猫要是 ,能比谁都 .2秋天到了,高 空气对环境有什么作用 雏菊什么意思 雏菊的英文咋写 裸子植物是我国各地城镇常见的树种,对于___环境,___空气和减轻___污染等具有重要作用快 雏菊的含义..请问?具体一点 . “稻谷成熟了”拟人句怎么写? 化学在未来的生活中会起到什么作用?比如在空气环境方面?食物方面? 我知道有两个意思,一个是 纯洁 ,另一个可就不那么纯洁了哦,是雏菊的意思.那么我想问雏菊是什么意思 雏菊的英文名称 根据字义组词:冷1,温度低()2,寂静,不热闹()3,暗中的,突然的() 雏菊 含义他发短信的暗号 韩国电影的英文介绍我们上课要用,越详细越好.(不仅仅是剧情)最好是有中文对照的, 在平面直角坐标系内,已知点(1-2a,a-2)在第三象限,且a为整数,求a的值. 雏菊的两层含义!雏菊第一层含义是:离别.第二层含义是什么? 雏菊的英语怎么拼? 净化环境和调节空气一样吗 仔细品味一下词语所表达的意思 (1)挺拔俊秀的椰子树,不时在海风中摇曳着碧玉般的树冠.(摇曳着)(2)海滩上玉屑银末般的细沙,金灿灿亮闪闪的,软软地暖暖地搔着人们的脚板,谁都想 雏菊英语怎么说 森林能净化空气,调节气候的现象是不是主要说明了环境对植物的影响/ 填上合适的词语( )的大厦,( )的香气,( )的椰树,( )的国槐,( )的油松( )的气质,( )的树冠 已知集合A={a|2kπ 封闭环境的操作空间,空气有哪些有害物质?
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn