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

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

SDN部署前必须考虑的7个事项 【云先锋 40】初创公司DataStax:专注于Cassandra,三年融资8370万美元 内容创作工具的革新:Facebook前CTO推文字处理应用Quip 微软为Android手机推出Office 仅面向Office 365用户开放使用 编程、创业、开源感悟——SDCC 2013讲师云风专访 原生广告:移动推广的热门新宠 隐私之战:金山手机毒霸宣布开放安全检测平台 世界人民的头上有张监控大网——Xkeyscore 美国“监控门”情报收集系统 X-Keyscore 技术揭秘 为啥REST如此重要? 并非PHP Frameworks而是WordPress让PHP更加流行! Twitter Bootstrap深受开发者喜爱的11大理由 假如3D打印机也有“撤销”键 大数据的游戏运营:不能起死回生,只能锦上添花 15个步骤创立技术公司,并收获千万用户(一) 红帽再发力 将MongoDB整合到Linux系统 ZestFinance:前谷歌CIO创立的机器学习+大数据分析公司 7月份浏览器份额:IE仍最受欢迎 Chrome成最大赢家 2013 Q2 Android手机出货量再创新高 iPhone三年来新低 如何一个人打造日PV百万的网站架构——SDCC 2013讲师曹力专访 【一周观察】动辄9位数以上的投资,云数据中心缺口巨大! 硬件创业到底有多火? 知名网站分享:PHP代替Perl,Redis置换MySQL,日处理过亿PV 涨姿势了:Unity CEO聊如何玩转开发者生态 移动周报:再造Ruby女神背后的开发故事 超算什么都弱爆了:模拟一秒人脑计算需要8.3万处理器40分钟 人才短缺不能只靠等 看分析人士给硅谷的3个方案 九个相当有吸引力的WebGL演示 巨人网络朱永明谈运营:游戏就是社会的缩影 Dragon Forged创始人:不想当空军的开发者,不是好程序员 创业者应该怎样走出idea迷宫? 求助,关于DropDownList控件的问题 请教一个简单的SQL语句的写法! 请问我把两路PCM的样值点相加除2得到混音信号,可是噪音很大,应该怎么消除呢(有代码) 大家快看电视新闻,中国一艘潜艇在海上出事了!紧急发布! 各位快请帮帮忙呀!Session问题!!! 如何在代码中添加新增lookup字段??? xp系统问题!高分等答案 pl/sql中函数与过程有什么区别 关于事务 LIB 在线等!!!!!!!! ADO+SQL Server 如何用VB编写发邮件的程序? 数据库搜索的一个怪问题 怎么得到从另一个页面传来的参数 Full Text: Bush Speech Aboard the USS Abraham Lincoln 请问 怎么实现变量互换阿 我是新手~~~ FAT错误,请问如何修复? flashget那个小方框怎么做? 谁有《UML与Rational Rose2002从入门到精通》书的选配光盘 急!!!随机函数 FAT错误,请高手帮忙修复。 内部消息(我对我说的负责) 不定时开放FTP服务器 急,求救!!! 一个很简单的问题. 为什么 “基本图象处理代码(1) ehom(原作)”对grayscale不对? linux下的oicq 有马? 帮帮我,好吗,感谢,非常 help,help,sql query question? 大家认为考研考进其他学校(且跨专业)的可能性有多大 显示图片 数据库搜索的一个怪问题 共享上网问题!急~!!!! 句柄和指针有什么区别吗? 大虾快进来,帮帮兄弟们!!!再现等待!高分!! 请问C++Builder的程序中能不能使用*.mdb类型的数据库? 帮帮忙!!个位大哥 请问用java编程能实现数据采集的程序并进行传输(即c/s模式)吗? 请问什么命令找开一个窗体的? 请问:如何从文件中获取icon并得到HBITMAP句柄? 如何在客户端打开一个word文件 MVP是个什么概念???? linux启动不了,Bringup loopback interface时出错,请问是什么原因? 帮帮忙!! 我海军一艘潜艇失事 70名官兵不幸全部遇难!! 明天朋友结婚,征集整人的法子 是谁删除了我贴?? 而且没有跟我说一声!!! 白天工作,晚上溜狗,爽呀!比大暑天喝了冰镇雪碧还爽! 我的jsp服务器是iis+TOMCAT+win2000pro 不知怎的每次用不了多久就显示出 网页无法显示 目前访问该 Web 站点的用户过多,我只是自已用怎么 终于有星了,高兴,散分(第一次散分,请斑竹手下留情) 我的刚装的2000进入启动界面时,进度条读到2/3时就蓝屏了! 银行4.8的利息是什么意思 这一个单词译中 亚买爹什么意思 英语翻译 英语翻译mumble 作无齿地咀嚼之意时,应译成怎样的拟声词?比如:咕噜咕噜等等 Two teaspoons should_____enough. 雪是什么形状 图 英语翻译the score was nothing like Strainsky's earlier pieces,Rather,Rite introduced a complex and unpredictable new style,rather在这句话中是什么意思, M100甲醇汽油低温能使用吗 “明后天的样子,“我明后天的样子来找你,”这句话里,“明后天的样子,”是确定的指明天和后天吗? 翻译一个单词엔돌핀 是什么意思? 梦到和猴子吃东西梦到我和猴子吃一个东西 书的总页数一定,已经看的页数和未看的页数.是否成正比例?理由,为什么,他们是不是两种相关联的量,比值是不是不一定? 鹿的外貌是什么 英语翻译Alexandros 汉译英:高温烹煮火鸡两个小时 Cook turkey ( ) ( ) (汉译英:高温烹煮火鸡两个小时Cook turkey ( ) ( ) ( ) ( ) ( ) for tow hours 疲惫的近义词和反义词 人在走路时,对地面的压强会产生变化吗?为什么? 书的总页数一定,已经看的页数和未看的页数.是否成正比例?用因为所以说比如小新跳高的高度和他的身高。小新跳高的高度和他的高度,不是两个相互关联的量,所以小新的跳高的高和他的 完美的反义词和近义词 人站在地面上,2只脚对地面压强为a帕,那一只脚对地面压强为几帕?为什么?2只脚都站时,一只脚对地面压强为几帕?为什么? 英语翻译Cook turky ----------- ------------ ------------ ------------ ------------ for two hours. 《核舟记 》桃核上雕了多少人和事?雕刻者是怎样巧妙的安置这些人物的?本文虽名为“记”,是不是记叙文?和桃花源记是同一文体吗?为什么? 某人从双脚站立变成单脚站力,他对水平地面的压强_____,压力_____ 一本书的总页数一定,看的天数与平均每天看的页数成正比例吗一堆煤的总质量一定,烧去的煤和剩下的煤成正比例吗三角形的高一定,三角形的面积和底成正比例吗》?都讲讲 将8mlNO2和O2的混合气体通入倒立于水槽装满水的量筒中,充分反应后,剩余气体为1ml.求原混合气体中NO2和O2的体积比.用差量法解此题! 假如真空包装机理想化,即不存在漏气漏污垢之类,它真能将包装袋里的...假如真空包装机理想化,即不存在漏气漏污垢之类,它真能将包装袋里的空气抽干净以致于没有一个气体分子吗?我意思 核舟记中雕刻家雕刻了多少人和物 我现在在银行存5年定期100000元,5年后我能得到多少利息,怎么算 一根质量为M的木杆被细绳吊起,一直质量为m的毛跳起抓住木杆向上爬,结果细绳断了,木杆下落,但猫仍不停对猫,离地面高度不变,则处于平衡,重力与摩擦力二力平衡 mg=f对杆,受到向下的重力, 核舟记的雕刻者是谁 蒙语里 qi qi mo mo ge hai yi 一质量m的猫跳上质量为M一端用细线悬挂的竹竿后,细线断了,为保持竹竿不下落,猫应向哪个方向加速爬?多少呢? 蝉是怎样把口器插进树皮的? 各位翻译高手能不能帮我翻译几个词?International headquarters and Defence Organizations ActVisiting force Actprescribe processremediation notice 如上图所示,在竖直悬挂的直杆上爬着一只猫,杆与猫的质量分别为M、m.当把悬线剪断时,猫顺着杆急速上爬,保持对地高度不变,则杆下落的加速度为 怎样分辨蝉的雌雄,口器有区别么? e injury never Mo Budiao 甲醇汽油低温能用吗?比如零下几度还能用 用所给单词的适当形式填空.1.every sunday,my mothe likes_____(wash) some clomes. 英语翻译什么是:“plug into the system from more than 8000 prots.” 关于对待困难的成语和名言成语四个名言两个 I gave him a book 直接宾语是不是只是book a是修饰book的 但为什么许多书上都写直接宾语是a book啊 能不能把所有颜色单词给我翻译过来谢谢了 描写困难的成语有哪些 I gave him a book 直接宾语是不是只是book a是修饰book的 但为什么许多书上都写直接语是a book啊 英语翻译1、工程中心 2、总经理办公室 3、制图中心 4、客服中心 5、会议室6、五行工艺 英语翻译如下:贵州省贵阳市富水中路天业大厦B栋8楼"贵州华祥矿产有限责任公司" He does that every Sunday.(用next Sunday改写) He( ) ( ) ( ) ( )that( ) Sunday. 英语翻译这些次分别是:终生成就奖(就是颁奖典礼用词啊),最佳新人奖,医院院长,我们要做一个diolauge,很紧急, 英语翻译“我将负责和你的部门联系” 连词成句:gave,him,a,I,two,age,book,days(.) l( )12.you( )11.your brother( )13.填空 “有句话说” 用英语怎样翻译比较好 That you gave him such a book to read meant _______ .A.being wasted his time B.to be wasted his time C.wasting his time D.to waste his time 翻译包括选项并分析. 人站立时一只脚和两只脚对地面的压强一样吗? You should pour two cups of yogurt into the blender.(改为祈使句)() () cups of yogurt into the blender. 两年期存款利率是4.40%,表示什么意思 呀咩嗲是什么意思 To know her is to like her.翻译下 英国遭飓风级暴风雨袭击 交通受阻数千乌克兰女权人士在法国民阵线领导人面前默多克新闻集团英国部涉窃听丑闻 卡梅美国国安局曾请求日本协助监听光缆通信阿根廷举行中期选举 执政党保持在参众东京惊现旧日军哑弹 实施爆破超过千人摩洛哥卫生部高官向中国医疗队员致敬美购物网上售卖“清朝帽子”等万圣节形印度洋葱供应紧张价格暴涨 政府指责中美国国安局曾请求日本协助监听光缆通信外媒看中国:央行暂回笼资金 利率市场美媒报道称美国已停止对默克尔的监听活亚马孙热带雨林4年发现441个新物种外媒分析耶伦若就任美联储下任主席 面日本东电职员因短信骚扰女性被捕 称为韩要求美澄清是否窃听韩总统 在野党向法国央行行长:金融交易税构成巨大风险法国夫妇汽车行李箱内藏一岁女婴 警方奥巴马医保网站频出错 分析称或危及其美媒报道称美国已停止对默克尔的监听活男子强奸亲生女儿10年 总认为别人都卡西终于要被逼走了 曝冬窗赴AC米兰云南松山战役遗址建中国远征军雕塑群专家:中国中亚合作重心在能源和打击三西安中院一审判决杨达才有期徒刑14年四个“药鬼”先后上门中哈关系:近、稳、快、实 访中国驻哈山东侨联:引导侨界体验社会主流和正面乌市地税稽查局两节廉政教育提前部署鲁迅文章从课本中删除 老师:与\"可专家:打击网络“大谣”彰显法治精神人教版语文教材\"大换血\" 史铁生“十一”出游找晨报 首推十条精品路线话剧《俄狄浦斯城》9月北京将演 再现作家叶开:鲁迅全面\"退出\" 是教省教育厅常常明察暗访高校食堂 可引入美网-纳达尔连赢8局横扫晋级4强 硬中国“风雷”飞行表演队武直-10公开高三女生求兄长买5000元手机遭拒 琼台双岛摄影家作品在海口骑楼老街展出武直19亮相天津直博会 或将进行飞行陈冠希谈\"艳照门\"后混乱心情 否
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘