A. 只要一個 iPad,手把手教你給 iPhone 開發應用
科技 是一種人文素養,我認為 Swift Playgrounds App 的核心定位正是如此。
未來世界創新、創業、創造的大門,需要我們用一種有著人文溫度的方式去開啟。
我自己從初中開始看矽谷三大春晚——Apple WWDC 開發者大會、谷歌I/O 大會、微軟Build 大會;在高中的時候,雖然身為文科生,但是開始了裝「黑蘋果」、自學編程的神秘煉金術之旅。Swift 因此成了我的計算機語言母語,而大學時期也很幸運地入選了 WWDC18 獎學金計劃,能夠帶著我們團隊自己開發的 App 見到了庫克。我們後來休學創業,拿了幾輪融資,至今還在這個波詭雲譎卻充滿魔力的創業場拼搏。
這些過去的經歷,都成了喬布斯所說的「connecting the dots」的一部分。我和一家做少兒素質與編程教育的機構也有著不少的合作,也帶過幾支天才少年隊伍,看著他們忘我地投入,看著他們迸發著顛覆性創造力的光芒。
由 Apple 推出的編程工具 Swift Playgrounds 近期推出了 4.0 大版本,我使用它開發了一個簡單的疫情數據看板 App,並以此作為一次簡單的體驗,將過程中的思考和體悟和大家分享。
我們為何學習編程、如何學習創造,Apple 給了我們他們的思考。雖然 Swift Playgrounds 現在還充滿了各者培種瑕疵,但我們也看到了全新的可能:AR、AI、感測器、多維交互、物聯網,這些前沿的技術,以及伴隨其中的人文主義光輝,都能夠在這個小小的設備中,經由每一個開發者的研磨,如同坩堝一般,煉就出自己的結晶。
讓我們開始吧。
註:本文中所有新冠疫情數據來自 騰訊開放平台數據介面,僅用作產品功能效果演示,不具有任何防疫相關參考價值,新冠疫情准確數據,請查閱官方數據平台。
在 Swift Playgrounds 中寫一個疫情數據 App,整個體驗充滿了驚喜與迷思,總之情緒如同一杯馥郁的咖啡,濃烈喚襪而復雜。
我一直在用一台 2017 年的 10.5 英寸玫瑰金 iPad Pro,它伴隨了我的整個大學到現在創業的時光。它曾陪伴著我去過 WWDC18 面對面見過庫克(沒錯)。然而自從升級 iOS 14 以來,我開始對其體和嫌激驗心生不滿,尤其是 Swift Playgrounds 在更新 4.0 大版本前的頻頻閃退和卡頓問題著實讓我頭大。
雖然我從朋友那裡搞來了一台 12.9 英寸的全面屏 iPad Pro,但由於種種原因沒有升級到 Swift Playgrounds 開發 App 所需的 iPadOS 15.2 的環境,於是最終還是投奔到了自己的陳年舊相識的懷抱。
好在 Swift Playgrounds 4.0 對系統兼容性與性能的優化,讓我瞬間覺得「爺青回」。我嘗試了直接在 iPad 上觸屏、觸屏 + 鍵盤、觸屏 + 鍵盤 + Magic Trackpad 的體驗,確實覺得如果沒有一套像樣的鍵鼠方案做配合,效率依然會大打折扣。
由於 macOS Monterey 12.1 依然沒有開放 Universal Control 通用控制功能,我最終選擇將 iPad 畫面投屏到 Mac 的顯示器上。
作為一個簡單的嘗試,我打算寫一個實時展示疫情數據的看板 App。
SwiftUI 配合 iPad 的屏幕操作邏輯,可以說很大程度降低了 UI 部分開發的復雜度,右側的 App 預覽響應迅速,提供了所見即所得的及時反饋。
左側的代碼窗口也新增了 Xcode 樣式的自動補全,在多數情況運轉良好,然而也會在不少場合耍個脾氣,考一考你「默寫」代碼的能力。當然我期待這些問題能夠盡快在後續版本中得到改善。
我們也可以直接編譯代碼,Swift Playgrounds 則會開啟一個新窗口來運行應用,日誌則均可通過自帶的控制台輸出。
Swift Playgrounds 可以像在 Xcode 編輯 .plist 文件一樣,為應用增加系統級能力支持。而同時,Swift Playgrounds 也允許開發者使用 Swift 包管理器來在線獲取第三方模塊的支持。
App 可以選擇自帶的佔位符或者自定義圖片作為圖標,並且打包編譯,發布到 App Store。Swift Playgrounds 自帶的手繪風格圖標頗有「Everyone Can Code」的質感。
寫完的 App 也可以直接發布 App Store 審核。
iPadOS 上 Swift Playgrounds 開發 App 的 .swiftpm 工程無法在 macOS 上的 Swift Playgrounds 中打開(或許還需坐等 macOS Swift Playgrounds App 更新),但是可以在 Xcode 的 Swift Playgrounds 模塊運行。
我們現在能夠看到 macOS 上 Xcode App 中的 Swift Playgrounds 功能模塊、macOS 獨立的 Swift Playgrounds App 與 iPadOS 上的 Swift Playgrounds App 三者並存且互相有所不兼容的情況。對於初學者而言,若不加了解,這確實是一條令人有些困惑的產品線。當然我相信 Apple 會在後續解決這一問題。
此次體驗下來,我認為新版的 Swift Playgrounds 也還存在以下不足:
對於想通過 Swift Playgrounds 入門編程的新手,我也在這里提出一些個人建議。
首先是設備,我手中的 2017 年款 iPad Pro(A10X 處理器)運行 Swift Playgrounds 4.0 沒有出現明顯的性能瓶頸,因此我姑且認為往後的新機型應該都有著不錯的性能表現。
文檔:前文說到,現有的 Swift Playgrounds 4.0 如果要以 IDE 的要求來看,還缺少必要的類型提示和文檔內容的說明。這時候我們也可以選擇手動查閱開發者文檔,這是 Apple 對各類系統框架事無巨細的說明。在 Swift Playgrounds 更早版本的更新中,Apple 已經將大部分的開發者文檔內置到了 Swift Playgrounds 中,我們可以在工具中找到文檔的查詢入口。或者,我們可以使用瀏覽器訪問 Apple Developer 開發者網站 查詢文檔。
Swift 語法入門:Swift Playgrounds 在更早版本中,已經提供了 游戲 化 Swift 語言學習的各種模塊,如果你是 Swift 語言的新手,可以通過學習官方提供的學習編程 1、2、3 和其他一系列的學習模塊來 探索 Swift 語言。
SwiftUI 入門:SwiftUI 是 Apple 發布於 2019 年 WWDC 大會的基於 Swift 的UI框架,結合了代碼 UI 編輯和 Storyboard 圖形化 UI 繪制的優點。因此 Swift Playgrounds 默認將 SwiftUI 作為創建一個空白 .swiftpm 工程後的初始界面模板。
如果你對 SwiftUI 還不熟悉,網上有不少優秀的教程內容可以學習,你可以在 Swift Playgrounds 跟著教程一起學習。當然,有時候自動補全功能的失效會給學習者帶來一點點困惑,我希望這個 Bug(但願不是一個 feature)能夠被盡早修復。當然,你也可以使用 UIKit 來實現界面,不過我認為現有的工作流更為 SwiftUI 量身打造。
嘗試 AR 體驗:如果你想在 Swift Playgrounds 開發的 App 中體驗一下 AR,Apple 的 AR Quick Look 頁面提供了不少開放的模型。我們可以通過創建 ARQuickLookPreview 來載入各類 USDZ 文件。
社群:現在基於 Swift Playgrounds 開發 App 的愛好者社群還在萌芽階段,因此找一個有 iOS 等生態開發經驗的朋友能夠極大提高你的學習速度。當然,你也可以創建一個社群讓好朋友們一起交流討論。比如少數派本身便是這樣一個不錯的社群,期待各位能在其中共同學習,各顯神通。
當然,瑕不掩瑜,我依然為這一次 Swift Playgrounds 的重大升級深感高興。在 iPad 上進行「真正」地開發 App 的呼聲從 iPad 推出之日起便此起彼伏。我在初中擁有第一台 iPad 2 的時候,就千方百計地嘗試用它來開發點什麼,而這一次的 Swift Playgrounds 升級則真正地表明了 Apple 的立場。
我一直不很在意關於 iPad 生產力的爭論。然而,我和身邊不少用戶切身體會到的,確實是 iPad 作為一個 科技 產品,給人源源不斷帶來的幸福感。書桌旁、畫架上、被窩里常常有著它和我形影不離。因此,和 Mac 相比,我一直覺得 iPad 是一個讓人更少異化、更多自由的產品形態。
因此 Swift Playgrounds 正如其名稱一般,也是一個大家能夠在代碼、多媒體內容與知識的 探索 與交互中自如玩耍的地方。在未來,並不會人人都做程序員,但 Everyone Can Code 能夠真正讓 科技 作為一種人文素養,讓每個人都徜徉其間,用開放包容和智慧的心態,面向與人類走向共融共生的通用智能。
庫克表示他不說元宇宙一詞,Apple 看好 AR。
AR、VR、AI、物聯網、區塊鏈、數字孿生、量子計算、Web3、元宇宙…… 各種詞彙總是在不經意間成為資本的寵兒,卻又在悄無聲息中急流勇退,大浪淘沙留下一波真正做事的人。
AR 作為在 iPad 先行的驗證,並被著力主推的技術能力,或許不久就會以全新的硬體形態與大家見面。運行在 iPadOS 之上的 Swift Playgrounds,結合 Apple 軟體全家桶的一系列應用,將進一步將多媒體的創造能力帶給每一個人,而這次會將 3D 沉浸空間體驗的創造也逐步納入進來,Swift Playgrounds 4.0 正是起點。
往後,Swift Playgrounds 結合 Reality Composer App 和大幅升級改造的「地圖」應用,使用 USDZ 格式文件,配合或將推出的穿戴式硬體設備,有可能能夠拓展成為一個「3D 沉浸式體驗編輯器」。它的潛力,可以是下一個時代的「Word」。當然,我們要看 Apple 將如何打這一套組合拳。
最重要的是,機遇永遠不在一家公司手中。創新、創業、創造將是每個人的全新可能,而這正是 Swift Playgrounds 作為這樣一個賦能人的工具,在根本上的意義:Give people wonderful tools, and they'll do wonderful things.
凡是過去,皆為序章。
B. 蘋果6開不了機一直顯示白屏黑蘋果怎麼辦
若手機黑屏、閃屏、花屏、白屏、紅屏等屏幕顏色異常問題,建議:
1.建議重內啟手機嘗試:同時容按住電源鍵和下音量鍵7秒以上重啟設備;
2.若再次打開後依然花屏,此情況可能和使用的軟體有關。若是自行下載的軟體,建議卸載軟體重新安裝。
3.若是自帶的系統軟體,建議更新手機系統版本嘗試:請進入設置-關於手機(關於設備)-軟體更新(系統更新)-更新(升級前請備份設備中數據)。
4.若已是最新版本,請備份手機中數據(聯系人、信息、圖片等)然後恢復出廠設置嘗試。
若問題依然存在,建議攜帶購機發票、保修卡和手機到當地的手機購買處維修或者到附近手機維修店進行維修。