從iOS到Apple Watch:用WatchKit創建新型可穿戴應用( 簡體 字) | |
作者:周智勛 陳姣 | 類別:1. -> 程式設計 -> 手機程式 -> iPhone |
出版社:電子工業出版社 | 3dWoo書號: 42310 詢問書籍請說出此書號! 有庫存 NT售價: 345 元 |
出版日:9/1/2015 | |
頁數:224 | |
光碟數:0 | |
站長推薦: | |
印刷:黑白印刷 | 語系: ( 簡體 字 ) |
ISBN:9787121269622 | 加入購物車 │加到我的最愛 (請先登入會員) |
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證, 繁體書的下載亦請直接連絡出版社) | |
目錄
前言xv 致謝xix 關于作者xxi 1 WatchKit編程入門1 Apple Watch的規格1 獲取開發工具2 理解WatchKit程序的架構3 Apple Watch程序的安裝4 Apple Watch與iPhone之間的交互4 與Containing iOS App通信5 Apple Watch程序的類型6 Hello, World!6 創建一個iPhone工程6 添加一個WatchKit App Target8 檢查Storyboard11 WatchKit App的生命周期12 修改Interface Controller13 在模擬器上運行程序14 小結16 2 Apple Watch的界面導航17 Interface Controller和Storyboard17 Interface Controller的生命周期19 Interface Controller之間的導航22 Hierarchical導航23 Page-Based導航27 Interface Controller之間的數據傳遞28 自定義返回和取消按鈕的文字34 使用代碼進行導航35 顯示一系列的頁面38 修改當前顯示的頁面40 小結43 3 Apple Watch的用戶界面45 響應用戶界面45 按鈕(Button)46 開關(Switch)59 滑塊(Slider)62 顯示信息65 標簽(Label)65 圖片(Image)65 表格(Table)71 獲取信息82 獲取文本信息82 獲取表情符號85 控件的布局86 力感觸控91 顯示上下文菜單91 通過代碼添加菜單項97 小結98 4 iOS程序接口99 本地化99 本地化用戶界面102 創建本地化字符串106 使用日期控件112 WatchKit App和Extension之間的通信113 位置數據114 顯示地圖123 訪問Web服務126 共享數據130 小結148 5 顯示通知149 什么是通知149 Apple Watch中通知的類型152 實現Short-Look界面153 實現Long-Look界面167 小結178 6 顯示Glance179 什么是Glance179 實現Glance180 自定義Glance182 測試Glance186 讓程序變得實用186 創建一個共享的App Group187 實現后臺抓取188 更新Glance192 小結194 本書全面介紹了Apple Watch編程入門所需的知識,主要內容包括Apple Watch程序的架構、界面導航、用戶界面控件、相關接口、通知的顯示、glance的使用等。書中提供了豐富的動手示例來幫助讀者實現WatchKit和Apple Watch開發快速入門。
推薦序1
近些年,隨著政府著力推進“互聯網+”戰略,國內互聯網的發展進入了新的里程。移動互聯網、寬帶互聯、物聯網、智能硬件等相關的創業公司如雨后春筍般出現,并表現出了極強的創新能力和生命力。以小米為代表的國內創業公司,在物聯網、智能硬件、可穿戴領域陸續推出了小米手機、小米路由器、小米智能電視、小米手環等創新產品,公司估值也已經達到了450億美金。傳統的老牌科技公司,如谷歌、蘋果等,在智能硬件和可穿戴領域也是出手不凡,陸續推出Google Glass、Apple Watch等重量級產品。特別是Apple Watch,一經推出就引起了果粉強烈的興趣,其于2015年4月10日(上市首日)在美國的在線預訂量就超過了百萬部。目前Apple Watch還沒有通過蘋果零售店銷售,僅提供了在線銷售,相信如果開放零售店等銷售渠道,銷量可能還會有較大提升。 智能硬件和可穿戴領域發展前景非常好。Apple Watch給我們提供了新的機會,為Apple Watch用戶提供服務成了當前迫切的需求。蘋果公司幾次產品形態上的變化都帶來了一批新應用的崛起,在iPad上,這種情況我們已經見過。幾年之后,Watch也會成應用開發者們的新戰場。由于Apple Watch會時刻帶在用戶手腕上,它是比iPhone手機離用戶更近的設備,跟生活相關的服務可能會成為開發者爭奪的重點,比如空氣質量、天氣預報、股票信息等。本書正是在這種背景下翻譯完成的,希望能夠給開發者提供力所能及的幫助。 按照一般規律,一款產品面世后需要較長時間才會有比較完善的配套服務和設施。由于Apple Watch是一款銷量較好的產品,加上蘋果公司的聲譽及iOS較完善的生態環境,各廠商都在加緊完成在Apple Watch上的布局,本書的出版希望能幫助開發者快速把握住這個機會。 由于Apple Watch上市不久,相關的資料相對缺乏,高質量的開發指導書籍更是少之又少。我們知道,一本好的移動開發參考書既需要讓經驗較少的開發人員快速了解相關技術概念及開發方法,也要讓經驗較多的移動開發人員快速找到自己想要的資料。本書從基本概念介紹入手,循序漸進引出Apple Watch的開發,通過實例比較詳細地介紹了各類開發組件的使用方法,對于讀者快速掌握Apple Watch開發有很好的幫助。 本書的作者李偉夢先生是一名技術專家,經常在國際會議上發表演講,有豐富的移動開發技術培訓經驗。本書的譯者周智勛先生一直從事移動開發事業,特別是iOS開發,擁有多年工作經驗,已翻譯了多本移動開發書籍。 衷心希望本書的出版能夠加快Apple Watch開發領域的技術推廣速度,為該領域的研發工程師提供一手資料。 本人十分高興地向廣大讀者推薦這本內容豐富的Apple Watch開發參考書,并且相信它會對讀者有所啟發和幫助。 360·手機安全專家·張金明 2015年·夏 推薦序2 話說,2009年我還在搗鼓著Symbian,工作之余就上Symbian技術論壇刷刷帖。當時的周智勛同學就已經是技術論壇管理員了,此人Symbian功力深厚,到處都是他精力無限的身影,提問題的帖子總能見到他認真的回答,大家都稱他船哥。 后來,諾基亞走下坡路,連帶著Symbian也開始沒落了。論壇為了吸引開發者,也開出了iOS和Android的板塊,一直找不到合適的版主,船哥就自己頂上了,那陣子翻譯的國外關于iOS和Android的技術文章大部分都出自船哥之手,從此烙上了“船哥譯品,必屬精品”的印記。 很快,船哥已經可以游刃有余地指點論壇求教的新手。那時我也開始轉到iOS陣營,覺得好玩,就申請了版主,回帖也算積極,所以除了論壇上接觸,私下跟船哥也慢慢熟絡起來,愉快地做起朋友來,那時我還很瘦,喜歡和他一起籃球和跑步。 再后來,我去了杭州,船哥也去了北京,由于工作繁忙,就很少能逮到機會聊天了。但是每次上論壇看帖,我都會去翻翻船哥又翻譯了什么好的文章,回了什么精彩的帖子。 日子就這么過著,有一天,我觍著臉申請加入了巧哥(唐巧)組織的iOS開發者群。第一個冒出來歡迎的人頭像似曾相識,點進去一看,備注是“船哥”。哈哈,原來你也在這里。 在群里收獲頗豐,經常會有好的國外技術文章被推薦。一旦有好文章貼出來,過不了幾天,船哥就會淡淡地說,“看你們都覺得好,我就給翻譯了。”翻譯質量頗高,且高產,漸漸把我慣得一旦有好外文丟進來,就等著看他的譯文了。 2013年,船哥回云南,主導做企業級App,在群里冒泡的機會越來越少了,我以為他因為忙也會放棄翻譯的愛好。 前段時間他突然在群里說他翻譯的Swift書要出版了,好家伙,原來是閉關憋大招。那個熱愛翻譯技術文章的船哥還在,而且功力精進,就像我已變成個“胖紙”,船哥還在樂此不疲地上傳他打籃球、跑步時矯健身影的照片。 昨天船哥找到我說:“我又翻了一本,你幫我寫個序唄。”我盯著屏幕上的“又”發呆了一會,好吧,面對如此勤奮的船哥,我怎么能不寫點啥呢,即使回憶也好。 說來慚愧,雖然WatchKit隨著Apple Watch大熱。我卻沒有真正看完文檔,對開發一個Watch App會遇到的問題也一知半解。 快速看完這本書,如何完整地開發Watch App在我腦中有了比較清晰的認識。這本書定位為指南,通過通俗易懂、循序漸進的語言介紹,加上簡單清晰的示例代碼、上手實戰的練習,可以讓一個新手快速掌握所需技術點,稍加練習,就可以輕松開發出一個屬于自己的Watch App。 現在,越來越多的企業開始重視智能穿戴設備的開發。作為一名合格的移動端開發者,目光不應只是鎖定在Phone和Pad上,更要重視一些顛覆性的智能穿戴設備,熟悉這些設備的應用開發不僅開拓眼界,更能給自己的技術能力加分。推薦對Apple Watch應用開發感興趣的同學閱讀此書,愿大家可以通過對它的學習快速上手。 希望本書對Watch 2.0的內容也盡快有完善和補充,祝愿船哥有更多好的作品。 支付寶·手機技術專家·方彬 2015年·夏 譯者序 2009年,我莫名其妙地愛上了跑步,有時會結伴,不過大多數時候是一個人在跑步的路上,從剛開始的孤獨,到后來的習慣,慢慢體會到了跑步的樂趣。也在跑步的路上認識了一些人,一些有趣的事。從一些前輩們的身上學到了不少寶貴的東西,或許我一生都將受益。跑步之初,我從沒想過會跑完一個馬拉松,跨過2012年北京馬拉松終點那一刻,我深深體會到,只要堅持,把每天看不見的進步緩慢積累成看得見的改變,那些看似遙不可及的事情,都能找到出口,正如村上春樹在他的書中引用的一句話“任何一把剃刀都自有其哲學。” 其實,從初中到大學,英語一直是我的一塊心病,無論如何出招,怎么治都不見成效,導致我曾長期覺得人類的語言能力就是天生的,無論后期怎么努力,都無法彌補。 2007年大學畢業后,我主要從事移動應用開發,剛開始,在 Symbian 上做開發,由于國內外的信息嚴重不對稱,許多開發資料都是英文的,英語水平很差的我只能硬著頭皮、連蒙帶猜地看著開發資料,并通過代碼不斷驗證自己的理解。隨著時間流逝,慢慢也就熟悉了英語資料,也會主動在網上看一些國外的技術文章,過程中,也漸漸學會了如何有效地使用谷歌獲取資源(不幸的是,目前國內無法通過正常渠道訪問谷歌了),從心理上,對英語不再那么拒絕了。 后來,也會在我的個人博客(http://beyondvincent.com/)上寫一些文章,做一些總結和分享(2015年,由于精力有限,很少打理博客,人還在,請大家勿念),期間收獲也不少。 再后來,陸陸續續寫過書、翻譯過書,對個人的認識和提升都比較有幫助。我出版了幾本書后,很多人都問我,出書很賺錢吧?其實,了解中國出版業的人都應該知道,走出書致富這條路,對大多數人來說是行不通的。國內的用戶都習慣了使用免費、盜版、破解的東西,況且用戶的付費習慣及版權保護意識都非常薄弱。所以,勸告那些想早日實現財務自由的人,還是另尋出路吧。 今年夏季,電子工業出版社的編輯劉蕓老師找到了我,說國外有一本關于Apple Watch開發類的書籍,要引進國內,問我是否感興趣做翻譯。由于我一直關注著Apple Watch的動向,加之以前也跟劉蕓老師有過愉快的合作,因此沒有多加思考,我就應了下來,與劉蕓老師約定一個月完成初稿,也就是說我只有四個周末的時間來做這件事情。由于翻譯此書要求的時間比較緊迫,我選擇了與同事陳姣共同翻譯。為了對時間做出有效的管理、集中注意力、提高效率,特意網購了一個計時器,計劃每個周末的兩天我都開啟番茄工作法,全身心投入。剛開始,還有點擔心進度和翻譯質量問題。想不到該方法十分奏效,我只花了兩個周末就完成了計劃任務,同時也沒有感覺到疲憊,可以用一氣呵成來形容。 本書介紹了Apple Watch編程入門需要的所有基礎內容,書中的主要內容包括Apple Watch程序的架構、界面導航、用戶界面控件、相關接口、通知的顯示、glance的使用等。書中提供了許多動手示例,這對于學習新語言非常有幫助。本書的作者李偉夢是一名技術專家,同時,他還是Developer Learning Solutions(learn2develop.net) 公司的創始人,他的寫作風格非常好,文章讀起來特別流暢。 在翻譯期間,要特別感謝劉蕓老師,是她在我翻譯過程中,給予了最大的支持,及時解決我遇到的難題,使得我能專注于書籍的翻譯工作。 要感謝我的好友張金明和方彬,他們在百忙之中抽出時間,對本書的校稿工作做出了非常大的貢獻,使得本書的翻譯質量得到保障。 最后也要感謝我的妻子王瓊梅,在我翻譯期間,她做了許多家務,忍受了我無休止的長時間工作。 正是得益于他們的大力幫助,才使得此書與讀者見面。 如果有緣你看到了本書,真心希望它能對你起到些許作用。如果你發現譯文有誤,拜托發郵件(BeyondVincent@gmail.com)告訴我,在此感激不盡。 只要堅持,把每天看不見的進步緩慢積累成看得見的改變,那些看似遙不可及的事情,都能找到出口。 周智勛 2015年夏 前言 歡迎閱讀《從iOS到Apple Watch:用WatchKit創建新型可穿戴應用》! 作為一名開發者,這是一個令人興奮的時代,因為我們正見證著新的可穿戴領域的發展。在市場上,Apple Watch并不是第一個涉足可穿戴領域的設備,不過Apple Watch的推出標志著蘋果公司將大舉進軍可穿戴設備市場。在成功改變了各種行業(音樂、計算機、手機和移動計算機)以來,此次,蘋果公司看起來即將改變可穿戴行業。目前還沒有哪家廠商能夠輕松搞定可穿戴行業。 跟iPhone一樣,Apple Watch設備中大量實用性和功能性程序都來自極具創造性的第三方開發者。在iPhone早期,由于想要壟斷iPhone程序的本地開發,蘋果公司限制了所有第三方程序,以及Web程序。然而,由于來自大量開發者的抗拒,蘋果公司最終發布了一個SDK,該SDK支持第三方程序的開發。正是這個正確的決定,改變了蘋果公司的命運。如果不支持第三方程序,iPhone永遠都不可能取得如此好的成就。 當發布Apple Watch時,蘋果公司吸取了之前的經驗,并意識到Apple Watch要想取得成就,就必須有大量可用的程序。因此,在發布Apple Watch之前,開發者就能獲得相關的SDK,進行Apple Watch程序的實際動手開發。 你現在看到的這本書(或者是在手機或平板上閱讀)是一個教程集合,通過閱讀書中的內容可以幫助你快速掌握Apple Watch編程。本書介紹了Apple Watch編程入門需要的所有基礎內容。在閱讀本書時,我已假設讀者已經具備如下技能: 你已經熟悉了iOS程序的基本開發技巧。特別是像outlet和action這樣的概念,對你來說,已經不是新概念了。 你應該已經適應了Swfit編程語言。如果你還沒有接觸過Swift,下一節將介紹如何入門Swift。 你需要什么 為了充分學習利用本書,你需要做好如下準備: 一臺Mac電腦,并安裝有Xcode。 你的Mac電腦操作系統版本不能低于Mac OS X Yosemite (v10.10)。 可以從Mac App Store下載到Xcode的最新版本。本書中所有代碼示例都在Xcode 6.3中測試通過。 如果你計劃在真實設備上測試程序,需要注冊成為一名付費的iOS開發者(https://developer.apple.com/programs/ios/)。個人賬號需要花費99美元/年。注冊成功之后,就可以請求一個對程序進行簽名的證書,簽過名的程序可以安裝至你的設備上。要想將程序安裝到設備上,還需要針對設備創建provisioning profile。另外,還需要一臺Apple Watch,并與你的iPhone進行配對。Apple Watch只能與iPhone 5、iPhone 5c、iPhone 5s、iPhone 6和iPhone 6 Plus配合 使用。 本書提供的所有代碼示例都可以在iPhone模擬器上進行運行和測試,不需要真實的設備或者Apple Watch。不過,有些代碼示例,需要你訪問iOS Developer Program,并且在程序中有一個有效的provisioning profile,這些代碼才能正常使用。因此,即使你沒有Apple Watch,也不想在真實設備上進行測試,你仍然需要一個iOS開發者賬號來測試本書中的一些示例。 本書中的許多示例在有網絡連接的情況下才能使用,因此在運行相關示例時,確保網絡連接。 本書中所有的代碼示例都是用Swift編寫的。如果你還不熟悉Swift,可以閱讀我寫的另外一本書Beginning Swift Programming(Wrox,2014),它可以幫助你快速掌握Swift,或者從http://weimenglee.blogspot.sg/2014/11/swift-cheat-sheets-download-today.html下載我整理的Swift備忘錄。 本書是如何組織的 本書的風格屬于教程類。在介紹相關概念時,你將進行動手實驗。對于學習一門新的技術來說,這是一種行之有效的方法,強烈建議你就像工作一樣輸入示例中的代碼。 第1章中,你將學習到Apple Watch程序的架構,以及Apple Watch是如何與iOS程序配合使用的。最重要的是,你將有機會寫一個簡單的Apple Watch程序,并將該程序安裝到模擬器中。 第2章將深入了解Apple Watch程序在多個界面之間是如何進行導航的。可以看到數據如何在多個界面之間進行傳遞,以及如何自定義每個界面的外觀和感覺。 第3章講了Apple Watch程序的用戶界面(UI)設計與iPhone程序有相似之處。不過,在Apple Watch中,空間是需要特別注重的,為了在程序中準確傳達相關內容給用戶,屏幕中的每毫米都必須善加利用。本章中,你將學習到如何利用Apple Watch中的各種UI控件來創建程序。 第4章向你介紹了可以用于Apple Watch程序的所有功能。你將學到如何本地化程序,Apple Watch程序和containing iOS App如何通信,如何調用Web服務等! 第5章中,將學習到如何在Apple Watch中顯示通知。首先由iPhone接收到通知,然后再發送至Apple Watch,開發者有機會對通知進行自定義,因此你可以將通知內容快速地顯示給用戶。 第6章介紹了Apple Watch中的glance可以給用戶提供一種獲取信息的快捷方法。例如,Apple Watch中的Instagram glance可能會顯示最近分享的圖片,而Twitter可能會顯示最新的動向。在本章中,你將學習到如何在自己的程序中實現glance。 關于示例代碼 本書的代碼示例以通俗易懂的方式進行編寫,讀者很容易就能理解相關核心概念,不用陷入到細節中,例如漂亮的外觀或者詳細的錯誤檢查。本書的寫作理念就是以盡可能簡單的方式傳達關鍵的思想。在實際程序中,你期望在程序里能夠實現詳細的錯誤處理,并創建出友好的用戶界面。盡管我提供了不同的方案,但是對于方案的甄選,還取決于你自己。對于讀者,為體現你們的創造性,需要將相關概念置于工作中或下一個殺手級程序。 獲取示例代碼 通過訪問Informit.com中本書的相關Web頁面informit.com/title/9780134195445,并單擊Extras選項,就可以下載到示例代碼。 聯系作者 如果你有任何關于本書的意見或問題,請發郵件到weimenglee@learn2develop.net,或者到我的網站learn2develop.net留言。 致謝 寫一本關于新興技術的書,不僅令人興奮,而且是危險的旅程。一邊,需要處理最新的動態,而接觸這些新動態的人并不多,另一邊,還要處理許多未知的東西。為了完成這樣的旅程,需要大量的幫助和家人的支持。借此機會,我要感謝所有幫助和支持我的那些人。 首先要感謝的是Trina MacDonald,她是Addison-Wesley/Pearson Education的一名高級編輯,是她給我寫這樣一本書的機會。對于書籍的編寫,她總是支持我的建議,能夠與她在此書上共事,我由衷地感到高興。謝謝你給我這個機會和指導,Trina!希望我沒有讓你失望。 我還要感謝幕后工作者:文字編輯Stephanie Geels、責任編輯Julie Nahil,以及技術評審Mark H. Granoff、Chaim Krause和Niklas Saers,他們將我的手稿變成了一本書,讓我以此為榮! 最后但非常重要的是,我想感謝我的家人給我的所有支持。如果沒有他們的鼓勵,這本書是不可能完成的。 關于作者 李偉夢是一名技術專家,同時還是Developer Learning Solutions(learn2develop.net)公司的創始人,該技術公司專注于最新的Web和移動應用技術的動手培訓。偉夢經常在國際會議上發表演講,并與他人合著了許多書,涉及的領域包括.NET、XML、Android和iOS相關技術。他熱衷于為informIT.com和mobiForge.com寫作。 |