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

微软前员工:开发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就不妙了,所以留点心,别让苹果的应用审核快你一步发现问题。

TOP30+应用排行榜:十一月国内外综合榜单 抱大腿:Square礼品卡服务进驻Passbook 科技创新剑指开源产业 “龙芯杯”破题自主研发 25GPU的Linux集群6小时内破解标准Windows密码 Lady Gaga与大数据的“火花” 手势才是王道:3款应用捕获3个设计灵感 YouTube的挑战者 JustinTV教你如何打造实时视频网站 黑客挟持160万用户密码 抗议联合国监管互联网 Twitter面对危机火速上线照片滤镜产品 Nike推创业孵化器:每个参与团队获2万美金 傲游发布云浏览器 支持跨终端数据同步 12个git实战建议和技巧 用友UAP产品线总设计师史周军访谈录 IE10新功能解析 支持Media Query(图) 单页Web应用或引领下一代Web新趋势? [CTO俱乐部第89期]新时代的前端开发 [多图]160台Mac mini打造的数据中心机架 是谁动了我的CPU! 欧朋CEO:GPU加速是手机浏览器的新趋势 TOP30专访:Splashtop研发中心总经理Alex Xu 2012Q3国内App开发者半数以上入不敷出 细微之处见真章 为什么要在try-catch-finally里加大括号 独立开发者:面对攻击就要“脸皮厚+更自豪” IBM纳米光子芯片对付大数据 单个通道25Gbps AWS数据仓库服务Redshift是最好的选择吗? 又赚了一笔:微软向两公司收取Android专利费 深度解析:Android4.2系统“应用验证服务” 欧洲移动游戏大会:五大行业趋势 大揭秘:Windows Phone 8 键盘输入的8个设计精髓 朝鲜:探寻最神秘的移动互联网王国 如何让IE 10玩转响应式网站 改变光驱盘符?很急很急 在Oracle中怎样加已经存在的数据文件? 我想请高手帮忙 !! 请问目前那一本参考书对DELPHI初学者有很大提高? 一个关于udp重发的问题 如何在delphi程序里调用vc写的exe执行文件。 如何将query中的内容输出到文本文件,然后还能将该文本文件再导入进来?急急急!!!!!!!!!!! 急急急!!我的计算机找不到硬盘了45分 如何求任意多边形的重心 紧急求助:请问java有没有比较丰富的多媒体控件?比如录音的控件??? 急急急!!!我的计算机找不到硬盘了,45分 如何把一个字段的内容求和,然后把结果存入另一表! 请教,怎样把一个记录数组用VB读入ACCESS 2000数据库中? 关于货币类型的问题? the script too large ????????我快疯了。 什么地方有Sybase与Oracle的比较资料? 急急急!!!我的计算机找不到硬盘了,40分 问一下大家 复活节彩蛋 win2000 professional下如何配置weblogic6.0 jsp和javasript如何通讯? 急!!!如何把'¥100'字串转化为浮点型100.00 用OleContainer1将一个WORD文档存进数据库后如何将它从数据库中取出??? 关于SNMP的问题(请高手回答,送40分) 谁想过要戒水?戒成了吗?又渴了吗? 我用在各种机器上使用Win2000,从来没有down过, 真是太奇怪了??? 请问如何确定操作系统系统是中文的还是英文的? 向外国用户发注册码时候应该说些什么,才能让别人觉得你比较专业? 如何捕获ADO的异常信息 struct结构的数据存储是用的什么顺序方式呀? 能介绍几本关于BCB的适合初学者阅读的书吗? 高手进来,struct结构的数据存储是用的什么方式呀 高分!高手请进!!! Newton 有关StoredProc的 各位大虾进来看看,Debug时的错误~~~~~~~ First-chance exception 和 User breakpoint ,帮帮我啊!!! 虽然我也回复没有分,但有意思的帖子,但我对分数高的帖子更有热情,我是不是很势利?? 我的服务器是unix 哪位提供最简单的图片存入库中的代码 谁能得到拨号上网所使用的电话的号码? 关于视中图形(非图像)的缩放问题! 想不通啊~~ 谁来帮帮我~~~?? 哪里可以宕到:Robohelp Office(亚洲版),急!! 谁能告诉我PWS怎么用 小弟刚下载了j2sdkee1.2.1 ,但不知道如何配置,那位大哥愿意帮忙,详细讲一讲如何配置。 TOleContainer怎么没有滚动条呀 在哪里可以找到mschart5.cab? 明天在莫斯科将产生2008年奥运主办国,请猜是哪个城市主办!答对者有分!(可加到204) 请问有没有做电力系统方面开发的? IIS是什么 如何用VB向串行口发送一个数据? 英语翻译材料:紫菜 2包 青瓜 2条 蟹柳 1包 蛋 3只 白饭 大量 白醋 2汤匙 萝卜 1条 1)先把青瓜,蟹柳,材料:紫菜 2包青瓜 2条蟹柳 1包蛋 3只白饭 大量白醋 2汤匙萝卜 1条1)先把青瓜,蟹柳,萝卜清洗 请帮我把“一切因你而存在、一切因你而精彩”用英语翻译一下!急、简洁点就行、 英语翻译我梦想中的房子是要建在山水环绕的地方,那里山清水秀.采用中西,故现代结合的建筑风格.房子的主体部分用的材料以玻璃木材为主.房子外形与大自然融为一体,给人以赏心悦目的感 英语翻译大连老菜菜谱1.\x05 溜肝尖 2.\x05 鸡里蹦 3.\x05 猪里蹦 4.\x05 溜鱼片 5.\x05 苏杨大烤 6.\x05 滑溜肉 7.\x05 糖醋小黄花鱼 8.\x05 炒肉拉皮 9.\x05 红油肉 10.\x05软炸虾仁11.\x05 辣肥肠 12.\x05溜肚 你永远是我最美好的曾经 英语翻译 英语翻译The housing area____ ____ ____ _____3,000 square metres. 英语翻译 太棒了!(英文翻译) 用英语翻译:1.最大的那个房间是他的. 英文翻译“多谢你的巧克力” 我认为我英语很棒.英语翻译 英语翻译前面还有一句:Here is my( )后面的中文就是"这是我理想的房间 英语翻译我已经打电话向中国西联汇款咨询过了,叔叔在汇款单上填写我的姓名顺序还是错误的,所以导致汇款现在还是取不到;这是中国西联汇款向我提供的美国西联汇款免费专线:800-325-600 用英语翻译:在书包后面有一些巧克力吗? 英语翻译:我认为他们很棒. 英语翻译Well,here we are.About half a year into our relationship.But as to me,it just feels like we have spent many many years together already for I feel I am a part of you.I can clearly remember our first time together,the way you kissed me,the 巧克力对你的健康有利的英语翻译 英语翻译(你们的孩子永远是最棒的) 英语翻译Don't be sorry,I have loved my life.I have a lovely wife,4 children who will do anything for me and 7 grandchildren that are the loves of my life.I just want to say one thing.I am not sure how experienced you are with the internet but don 巧克力包装盒的英文翻译 英语翻译 你本来看上去很棒 英语翻译我很希望能为你做点什么,同时我也想成为你的笔友.请尽快给我回信.我也想了解关于你更多的情况. 英语翻译One of the few foods which appeals to people all over the world is chocolate.Developed by the Aztecs in South America,chocolate was brought to Europe by Spanish explorers around 1500 and soon became a fashionable drink.By the 19th century 英语翻译This movie __is __ .He is __ it,__. 英语翻译你们好!昨天已经在西联取到了汇款,共:$400美元,谢谢大家对我们的关心,奶奶非常感谢simeona,新年假期完了,现在我也回工厂正常上班了,夏威夷的冬天不冷吧?现在家乡的温度只有8℃ 英语翻译 中国的北京故宫真的很棒!用英语翻译 “xx省xx市人民医院”正规英文翻译 这些美味的蛋糕是给我们的吗用英语翻译 英语翻译1.to show how much we're going to miss her,let's have a surprise party for her next Friday the 28th.2.bring Ms.Steen to the party without telling her so that she can be surprised.3.I look forward to hearing from you all. 英语翻译:对XX来说这个太大了 我从不吃像蛋糕这样的甜食英语翻译怎么说 我将要离开你,希望你要过的很好用英语翻译怎么讲 英语翻译 给他买个生日蛋糕就足够了 英语翻译 我不是寄生虫,离开你我也会活的很好的英语翻译 “吃一个有葡萄的蛋糕.”用英文翻译? 玛丽正在等待她的生日蛋糕.英语翻译! 有真厉害 用英语翻译 喜欢吃蛋糕用英语怎么说 生日蛋糕用英语怎样说 也许单身很好 怎么用英语翻译 我们吃些蛋糕好吗?英语翻译 我想要一个插着蜡烛的生日蛋糕英文翻译 希望你过得好点用英语翻译 用英语说出果仁巧克力蛋糕制作方法 英语翻译they _____ the birthday of their motherland _____ _____ songs 英语翻译The teacher tries many ways to ____ ____ not difficult for us ____ ____ ____. "制作巧克力蛋糕的食谱"用英语怎么说 英文翻译 "祝愿所有11月生日的朋友生日快乐" 这是学英语的好机会 英语翻译 黑樱桃巧克力蛋糕用英文怎么写? 英语翻译注意是将要. 英语翻译:“学英语是很好的,但得慢慢来,循序渐进” 巧克力 蛋糕 巧克力蛋糕英语 翻译 最后,人们吃了她妈妈亲手做的生日蛋糕 英语翻译“你经常犯什么样的错误呢?”和“你认为学英语的最好建议是什么?” 英语翻译You’ll need four eggs three tomatoes one onion a little oil salt and pepper first slice the onion and tomatoes next in a frying pan fry the sliced onions and oil until it turns light brown then add the tomatoes after frying the tomatoes 其实大家都知道,我们都不是彼此的那杯茶 上句求英文翻译..麻烦了 有什么很好学英语的方法?对女孩子来说.
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn