精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

iOS開發(fā)者須知 :WatchKit開發(fā)技巧

移動開發(fā) iOS
從一月中旬以來我全身心投入到 WhereNotes App 的Apple Watch部分的工作中。我也有幸被邀請到在Cupertino 的Apple Watch 實驗室。在過去的三個半月中,我搜集了很多技巧,并在這篇文章中涵蓋了它們中的大部分。我希望這些技巧能夠?qū)δ愕腁pple Watch開發(fā)有所幫助。

[[141038]]

從一月中旬以來我全身心投入到 WhereNotes App 的Apple Watch部分的工作中。我也有幸被邀請到在Cupertino 的Apple Watch 實驗室。在過去的三個半月中,我搜集了很多技巧,并在這篇文章中涵蓋了它們中的大部分。我希望這些技巧能夠?qū)δ愕腁pple Watch開發(fā)有所幫助。

也許你對于這些如applicationWillEnterForeground:和applicationDidEnterBackground:方法非常熟悉。它們在與之相對應(yīng)的通知(UIApplicationWillEnterForegroundNotification和UIApplicationDidEnterBackgroundNotification)前被調(diào)用。與之相等價(鮮有人知)的WatchKit NSExtensionContext通知如下:

NSExtensionHostWillEnterForegroundNotification?

NSExtensionHostDidEnterBackgroundNotification?

NSExtensionHostWillResignActiveNotification?

NSExtensionHostDidBecomeActiveNotification

我與大多數(shù)蘋果開發(fā)者社區(qū)中的成員都有這樣的經(jīng)驗,用一個在充電器上的Watch測試會獲得更好更可靠的調(diào)試經(jīng)驗。

在iOS上可以隨時更新界面元素,但是在WatchKit上,只能更新當(dāng)前激活的、可視的視圖控制器中的元素。直到didDeactivate方法被調(diào)用時,更新才能被安全的執(zhí)行。(注意你不能在此方法中更新界面元素)這意味著如果你打算更新一個當(dāng)前隱藏的視圖控制器(例如你正在查看最頂部的模態(tài)控制器),你會需要執(zhí)行當(dāng)前控制器的willActivate方法,這個方法會在模態(tài)控制器消失的時候被調(diào)用。

除包含在你的Watch app bundle中的assets之外,每個app 只允許5MB的高速圖片緩存,通過extension使用 WKInterfaceDevice 中的方法引入和管理圖片緩存。從extension發(fā)送圖片到watch端需要消耗時間和電池電量,所以需要重用圖片(即使只是用一次),這都是值得緩存的。如果使用 addCachedImage:name: 發(fā)送一張圖片,那么這張圖片會自動的被以PNG格式編碼,并發(fā)送到緩存中。不論P(yáng)NG是否是最佳的格式(但這是最安全的格式)。如果你的圖片能以JPG的格式呈現(xiàn),我強(qiáng)烈地推薦使用addCachedImageWithData:name: 來取代上述方法。以JPG格式編碼圖片和試用圖片質(zhì)量設(shè)置,不僅圖片將會更快速地傳輸,同時也會擁有更多的緩存空間用于儲存更多的圖片。

依據(jù)之前的建議,你可以在后臺進(jìn)程緩存圖片(依據(jù)一個在開發(fā)者社區(qū)中的蘋果雇員所述)。我在我的Watch app中,使用提前緩存圖片這項技術(shù)。

如果你使用前邊提及到的圖片緩存,這里沒有內(nèi)置方法決定刪除使用過最舊的圖片。如果你的app管理了許多圖片,你會想要封裝關(guān)于緩存的manager。

為了測試Apple Watch上的通知,在Apple Watch配對的app的通用中設(shè)置關(guān)閉手腕檢測。

想要強(qiáng)制退出app,按住旁邊的按鈕,一段時間后再次按住它(注意強(qiáng)制退出你的app不會強(qiáng)制退出你的extension)。

在willActivate中最小化處理的工作,以減少加載等待時間。

考慮用戶在使用iPhone app之前打開你的Watch app以及設(shè)計的一致性。App審核會發(fā)現(xiàn)這些情況。

記住你的Watch app 是以extension的方式運行。你的Watch app的內(nèi)存限制要比iPhone app要更為嚴(yán)格。如果處理大量的圖片,在iPhone app上完成此項工作會更好(使用openParentApplication:reply:)。還得注意模擬器不會執(zhí)行這些內(nèi)存限制,所以必須在真實地設(shè)備上進(jìn)行測試。

為了發(fā)現(xiàn)你的app是否與Watch匹配,為Watch app共享的NSUserDefaults(使用 shared app group)設(shè)置BOOL值,你的iPhone app能夠獲取它。

為了同步在iPhone與Watch之間的數(shù)據(jù),你可以調(diào)用你的iPhone app執(zhí)行所有的數(shù)據(jù)更新(使用 openParentApplication:reply:),或使用 Darwin notifications 在extension和iPhone app之間發(fā)送事件。Darwin notifications不支持?jǐn)?shù)據(jù)裝載,所以如果你想通過通知傳輸數(shù)據(jù),可以查看非常有用的 MMWormhole 工程。

你除了使用timer更新和刷新界面元素,還可以使用KVO,如果你的數(shù)據(jù)源支持。這就是我在我的Watch app中所使用的方法。使用這種方法,界面元素只會在它們改變的時候被更新,同時降低通訊消耗和節(jié)省電池電量。

如果你需要跟蹤控制器界面,在 awakeWithContext: 中考慮給self傳輸引用建立關(guān)系。我已經(jīng)在我的app中通過我的 JBInterfaceController subclass 大量地使用這種模式。使用類似這類的技術(shù)讓你如使用代理模式一樣去工作。同時,更多以類似UIViewController方式考慮你的controller。

WatchKit extension是前臺的extension,所以如果你需要獲得 Core Location 的授權(quán)允許,你只需要在授權(quán)需要時請求。

除非你的場景需要,必須謹(jǐn)慎考慮你是否需要“在線更新”,即在Watch和iPhone之間立即同步。用戶通常不會同時使用兩個設(shè)備,所以在下一次Watch或iPhone app激活時簡單地更新數(shù)據(jù)就能避免大量的同步邏輯。不幸的是看著watch與iPhone的模擬器的屏幕緊鄰彼此,就很有可能去建立復(fù)雜的同步邏輯。也許我做了,但我沒有告訴你。

當(dāng)你不能用程序創(chuàng)建和控制視圖控制器時,你能明智地了解你是如何隱藏和顯示視圖元素。這會成為一個通用地WatchKit實踐,例如,建立一個全頁的label,如果有一則重要的消息需要展示時它可以被顯示。或者,如果你有兩個你需要編程選擇的布局,可以包含它們到最上層的組,并在需要的時候讓其隱藏和顯示。

記住每個屏幕的觸摸和界面更新需要Watch和iPhone之間來回的通訊。

WatchKit界面元素是只寫的(它們通常也有setter方法),這需要手動跟蹤你已經(jīng)設(shè)置后你不想再次設(shè)置的值。WatchKit嘗試在每次run loop合并值以及只發(fā)送最后的值,但你也能參與其中跟蹤你自己的值。

然而這里沒有內(nèi)建的活動指示控件,當(dāng)進(jìn)行一項長時間的處理時(如圖片傳輸或下載),你可以顯示一系列的動態(tài)圖片。更新于5/3/2015:我剛在GitHub發(fā)布了JBWatchActivityIndicator 工程,它使得創(chuàng)建活動指示圖片序列更加容易。它也包含了一些蘋果風(fēng)格的預(yù)先渲染的序列。

確認(rèn)下載和查看Apple Watch Design Resouces。除了有用的顏色和尺寸的推薦外,也包含了用于市場截圖的高質(zhì)量圖片。正當(dāng)我說著這個話題時,你提交的app截圖不包含bezel 圖片是沒有價值的。

許多開發(fā)者對于模擬器上圖片展示正確,但在真實的watch上卻不一致的情況表示沮喪。事實上這是許多App被拒絕的原因。這個問題的出現(xiàn)與文件命名和文件丟失有關(guān)。最安全的解決辦法是在Watch app中(不是extension)的assets library 中包含所有的圖片。這就是我在我的Watch app中所作的。我推薦你也使用同樣的方法。

雖然能從Watch加載你的iPhone app到前臺是一個非常常見的需求,但通過編程無法實現(xiàn)(即使有方法可以在模擬器上運行),考慮用 Handoff 取代。

如果你需要在兩個視圖控制器間傳遞信息,但你不能通過 awakeWithContext: 完成,考慮使用發(fā)送 NSNotifications。在extension中它們運行良好。否則遠(yuǎn)程指定克隆我的JBInterfaceController subclass,并使用代理模式。

本地通知要求設(shè)置 soundName 屬性以生成觸覺反饋和鈴聲。

模擬器是好的開始,但在真實硬件設(shè)備上測試你的app才是關(guān)鍵。

責(zé)任編輯:chenqingxiang 來源: Mike Swanson的博客
相關(guān)推薦

2015-04-14 09:33:17

WatchKitAPP

2014-04-04 17:13:13

iOSAndroid開發(fā)技巧

2015-10-21 13:42:54

iOS開發(fā)watch OS2

2015-06-15 10:57:34

開發(fā)者2015移動開發(fā)

2015-07-20 09:26:09

iOS數(shù)據(jù)庫存儲

2015-09-01 09:31:00

Android M權(quán)限

2015-08-11 11:01:22

設(shè)計原則開發(fā)者

2019-11-14 14:44:32

開發(fā)者工具

2017-01-19 21:45:27

iOS開發(fā)者賬號

2014-08-08 10:12:44

IRC

2014-05-04 10:58:19

開發(fā)者廣告

2022-01-18 23:26:45

開發(fā)

2015-07-09 10:36:40

iOS

2014-05-27 13:48:34

開發(fā)者付費

2014-09-01 09:53:50

Android框架

2019-05-30 08:00:00

2011-03-30 16:55:29

亞馬遜KindleiOS

2012-06-13 01:23:30

開發(fā)者程序員

2012-02-13 10:21:11

Skala PreviiOS應(yīng)用

2012-03-23 22:32:38

iOS
點贊
收藏

51CTO技術(shù)棧公眾號

麻豆精品久久精品色综合| 妖精视频一区二区三区| 亚洲一区二区高清| 欧美日韩免费精品| 91在线你懂的| 亚洲精品欧美| 日韩中文字幕国产| 性农村xxxxx小树林| 网友自拍亚洲| 一区二区三区免费网站| 欧美三级电影在线播放| 国产视频在线观看免费| 久久不射网站| 欧美国产日本在线| 极品人妻videosss人妻| 亚洲三区欧美一区国产二区| 在线免费亚洲电影| 奇米影视亚洲色图| 精品视频在线一区二区| 久久久精品国产免费观看同学| 91精品视频观看| 超碰超碰超碰超碰| 亚洲二区在线| 欧美理论片在线观看| 精品人妻中文无码av在线| 红杏视频成人| 欧美一级xxx| 国产小视频精品| 岛国av在线播放| 亚洲精品免费电影| 亚洲视频在线二区| 国产三级在线免费观看| 成人性视频免费网站| 91精品视频观看| 在线观看一二三区| 老**午夜毛片一区二区三区| 97视频免费观看| 久久久无码一区二区三区| 97国产成人高清在线观看| 亚洲人成网站999久久久综合 | 日韩va亚洲va欧美va久久| 午夜精品蜜臀一区二区三区免费| 久久久精品视频免费观看| 久久免费大视频| 在线视频精品一| 人人妻人人藻人人爽欧美一区| 欧美调教网站| 日韩精品中文字幕在线| 黄色网址在线视频| 国产精品qvod| 亚洲国产欧美精品| 色天使在线视频| 日韩有码一区| 日韩精品视频中文在线观看| 欧美双性人妖o0| 国产调教精品| 日韩精品在线观看一区二区| 成人精品在线观看视频| 亚洲精品亚洲人成在线观看| 精品亚洲永久免费精品| 国产艳俗歌舞表演hd| 一本色道久久综合亚洲精品酒店| 亚洲精品国产综合久久| 少妇饥渴放荡91麻豆| 综合色就爱涩涩涩综合婷婷| 亚洲欧美日韩国产中文专区| 蜜桃久久精品成人无码av| 欧美三级美国一级| 久久久国产成人精品| 久久久久久久久久久久久久免费看| 女生裸体视频一区二区三区| 欧美高清视频在线| 亚洲免费激情视频| 日本伊人色综合网| 国产三级精品网站| 亚洲黄色在线免费观看| 成人av电影在线观看| 欧美成人蜜桃| 欧美成人hd| 亚洲一卡二卡三卡四卡| 九九九九免费视频| 美女视频一区| 日韩你懂的在线播放| 污片免费在线观看| 成人午夜av| 久久99精品国产99久久6尤物| 久久9999久久免费精品国产| 香蕉久久国产| 亚洲一区二区三区香蕉| 日韩在线观看视频一区| 国产精品午夜久久| 精品成在人线av无码免费看| 国模视频一区| 日韩午夜激情免费电影| 日韩网站在线播放| 国产精品久久久久久久免费观看| 欧美精品aaa| 中文字幕一区二区三区波野结| 国产精品亚洲第一区在线暖暖韩国 | 色中文字幕在线观看| 99riav视频在线观看| 欧美中文字幕一区二区三区亚洲| 国模大尺度视频| 国产一区二区三区不卡视频网站| 美女黄色丝袜一区| 久久国产乱子伦精品| 成人午夜视频网站| 伊人久久大香线蕉综合75| aa级大片免费在线观看| 欧美日产在线观看| 国产成人无码一区二区在线观看| 91精品1区| 国产成人涩涩涩视频在线观看| 亚洲av无码乱码国产精品久久| 久久综合久久久久88| 欧美亚洲色图视频| **日韩最新| 中文字幕日韩av电影| 欧美h在线观看| 丁香天五香天堂综合| 中文字幕一区综合| 成人自拍视频网| 亚洲美女自拍视频| 国产大片aaa| 国产成人午夜99999| 在线国产伦理一区| 99久久精品一区二区成人| 日韩精品免费在线观看| 日韩美女黄色片| 国产精品一区二区免费不卡| 亚洲一区三区| 精品国产美女a久久9999| 亚洲偷欧美偷国内偷| 国产一区二区99| 国产成人精品一区二区三区网站观看| 中国一区二区三区| 素人啪啪色综合| 亚洲天堂网站在线观看视频| 亚洲午夜18毛片在线看| 99在线精品观看| 日韩精品―中文字幕| 精品国产午夜肉伦伦影院| 久久99国产精品自在自在app| 国产强被迫伦姧在线观看无码| 国产精品久久久久久久久动漫| 国产日韩一区二区在线观看| 羞羞色国产精品网站| 欧美在线视频一区| 日本成人一区二区三区| 欧美性猛交xxxx乱大交3| 人妻丰满熟妇aⅴ无码| 日韩一级不卡| 欧美深深色噜噜狠狠yyy| 成人爽a毛片免费啪啪| 亚洲精品一区中文| www.久久网| 国产精品欧美久久久久一区二区| 啊啊啊国产视频| 98精品久久久久久久| 91视频国产精品| 免费网站在线观看人| 亚洲国产美女久久久久| 日韩综合在线观看| 亚洲国产精品精华液ab| www.久久av.com| 欧美1区2区视频| 九九99玖玖| 色婷婷综合久久久中字幕精品久久| 国产一区二区三区视频免费| 96日本xxxxxⅹxxx17| 亚洲影视资源网| 91久久免费视频| 美腿丝袜在线亚洲一区| 可以免费看的黄色网址| 久久久亚洲欧洲日产| 日韩免费在线视频| 国产最新在线| 日韩电影免费观看在线观看| 伊人成年综合网| 亚洲黄色片在线观看| 艳妇乳肉亭妇荡乳av| 日韩电影在线观看一区| 久久99国产精品一区| 欧美黑人巨大videos精品| 国产精品久久久久7777婷婷| 性xxxfreexxxx性欧美| 日韩精品中文字幕在线| 国产精品视频a| 疯狂蹂躏欧美一区二区精品| 中文天堂资源在线| 成人午夜短视频| wwww.国产| 日韩午夜在线电影| 国产精品h视频| 日韩精品a在线观看91| 国产精品视频精品| jizz一区二区三区| 日韩中文字幕视频在线| 天堂中文在线看| 91麻豆精品国产91久久久久久久久 | 日本电影在线观看| 在线精品国产欧美| 性生活视频软件| 欧美日韩视频在线观看一区二区三区| 久久精品波多野结衣| 国产精品乱人伦一区二区| a视频免费观看| 国产精品亚洲午夜一区二区三区| 久久精品香蕉视频| 在线观看视频日韩| 男插女免费视频| 全球成人免费直播| 久久久久久a亚洲欧洲aⅴ| 国产日韩在线观看视频| 国产精品视频午夜| 伊人久久综合一区二区| 欧美国产精品日韩| 羞羞视频在线观看免费| 最新国产成人av网站网址麻豆| 肉丝一区二区| 亚洲白拍色综合图区| a在线观看免费| 欧美精品在线观看一区二区| 中文字幕手机在线视频| 婷婷开心久久网| 日本三级片在线观看| 一区二区三区中文字幕电影| 久久久久久久久久97| 国产精品久久久久久妇女6080 | 亚洲精品国产一区二| 欧美精品乱码久久久久久| 国产黄色免费视频| 一本高清dvd不卡在线观看| 国产午夜精品一区二区理论影院| 亚洲青青青在线视频| 久艹在线观看视频| 最新热久久免费视频| 久久国产高清视频| 亚洲欧洲精品成人久久奇米网| 女人裸体性做爰全过| 国产精品麻豆视频| 九九九视频在线观看| 国产精品毛片a∨一区二区三区| 亚洲第一综合网| 欧美激情一区二区三区四区 | 成人久久久精品国产乱码一区二区| 日韩一区二区中文字幕| 国产精品一区二区免费视频| 91精品国产综合久久精品图片| 一级特黄特色的免费大片视频| 欧美日韩成人综合在线一区二区| 一级片视频播放| 日韩欧美一区电影| 国产 日韩 欧美 精品| 亚洲精品黄网在线观看| 日本一区二区三区在线观看视频| 亚洲精品视频免费| yourporn在线观看中文站| 中文字幕9999| 97超碰资源站在线观看| 久久久久久久久亚洲| 白浆在线视频| 日韩av手机在线看| 日韩精品第二页| 99在线高清视频在线播放| 欧美日韩一区二区三区四区不卡| 免费精品视频一区| 999成人网| 妞干网在线观看视频| 久久资源在线| 日本黄色的视频| jiyouzz国产精品久久| 国产小视频自拍| 亚洲人妖av一区二区| 日韩欧美大片在线观看| 欧美日韩一区不卡| 午夜精品无码一区二区三区| 日韩av中文字幕在线播放| 国产污视频在线| 欧美成年人视频| 妞干网免费在线视频| 国产精品日韩专区| 超碰成人97| 色一情一乱一伦一区二区三欧美| 久久精品免费一区二区三区| aa视频在线播放| 麻豆国产91在线播放| 制服丝袜av在线| 中文字幕va一区二区三区| 久久久久久蜜桃| 欧美色爱综合网| 丰满人妻一区二区三区免费视频| 亚洲欧美日韩高清| 18加网站在线| 国产精品国产亚洲伊人久久 | 欧美精品一区三区在线观看| 欧美第一精品| 日日碰狠狠添天天爽超碰97| 青青草一区二区三区| 小毛片在线观看| 自拍偷拍亚洲综合| 在线精品免费视| 日韩精品专区在线影院重磅| 成人资源www网在线最新版| 欧美黑人巨大精品一区二区| 成人在线免费电影网站| 国产在线精品一区二区三区| 国产精品videosex性欧美| 国产精品视频一区二区三区四区五区| 黄网站免费久久| 三上悠亚ssⅰn939无码播放| 亚洲一区中文日韩| 国产乱码一区二区| 一本一本久久a久久精品综合小说| av老司机在线观看| 91午夜理伦私人影院| 成人区精品一区二区婷婷| 妺妺窝人体色www在线小说| 国产成人在线免费| 小泽玛利亚一区二区免费| 欧美日韩综合在线免费观看| 人成在线免费视频| 2019av中文字幕| 第一区第二区在线| 青青青青在线视频| 国产美女一区二区三区| 小早川怜子一区二区的演员表| 在线观看不卡视频| 蜜桃视频在线观看网站| 4438全国成人免费| 欧美自拍一区| 97国产精东麻豆人妻电影| 成人黄色国产精品网站大全在线免费观看 | 中文字幕第80页| 久久久精品国产免费观看同学| 日韩高清精品免费观看| 精品对白一区国产伦| 日本孕妇大胆孕交无码| 91成人理论电影| 欧美在线91| 国内自拍偷拍视频| 亚洲高清不卡在线观看| 后入内射欧美99二区视频| 欧美激情视频在线免费观看 欧美视频免费一 | 8x8x8国产精品| 免费网站看v片在线a| 91免费在线视频| 午夜精品电影| 在线xxxxx| 精品欧美一区二区三区| 五月婷婷开心中文字幕| 欧洲s码亚洲m码精品一区| 亚洲永久精品唐人导航网址| 国产v亚洲v天堂无码久久久| 欧美激情一区二区三区不卡| 亚洲系列第一页| 久久成人av网站| 国产欧美自拍一区| 欧美精品色婷婷五月综合| 欧美极品美女视频| 在线不卡免费视频| 久久成年人视频| 欧美巨大xxxx| 任你操这里只有精品| 国产精品久久久久久久久免费丝袜 | 奇米777欧美一区二区| 亚洲精品一区二区三区在线播放| 欧美一级片免费看| aa视频在线观看| 日韩国产精品一区二区| 精品一区二区三区视频| 国产真实的和子乱拍在线观看| 亚洲久久久久久久久久久| 国语自产精品视频在线看抢先版结局| www亚洲国产| 成a人片亚洲日本久久| 日韩国产亚洲欧美| 九九热精品视频| 精品中文一区| 国产性生活一级片| 黄色成人在线免费| 日本视频在线免费观看| 97av影视网在线观看| 久久久久久一区二区| 欧美黄色aaa| 亚洲欧美日韩一区在线| 精品视频91| 欧美 国产 小说 另类| 亚洲日穴在线视频| 天天舔天天干天天操| 成人免费视频在线观看超级碰| 亚洲国产一区二区精品专区| 国产1区2区在线观看| 精品黑人一区二区三区久久 | 国产精品日韩一区二区三区 | 污网站免费观看| 欧美性视频一区二区三区| av人人综合网| 麻豆一区二区三区在线观看| 久久九九99视频|