第 17 章
AirDrop、UIActivityViewController 與 統一格式識別器的運用
AirDrop 是 Apple 對於資料分享的解決方案。在 iOS 7 以前,使用者必須仰賴第三方 App,例如使用 Bump 在不同裝置間分享檔案。iOS 7 釋出之後,iOS 使用者便允許利用一個稱為 AirDrop 的功能與周圍附近的裝置分享資料。簡單來說,這個功能可以讓你分享照片、影片,聯絡人、URLs、Passbook 通行證、App Store 上的 App 清單、iTunes Store 的媒體清單、地圖上的位置等等。
倘若你可以整合 AirDrop 至你的 App 中不是很好嗎?你的使用者可以很容易的與鄰近的裝置分享照片、文字檔或任何型態的檔案。UIActivityViewController
類別被綁定到 iOS SDK中,可以輕易地在你的 App 中嵌入 AirDrop。這個類別讓你不用接觸底層有關檔案分享的細節部分。你只需要告訴這個類別你想要分享的物件,這個控制器便會接管剩下的工作。在本章,我們將示範 UIActivityViewController
的用法,並了解它是如何透過 AirDrop 來分享圖片與檔案。
要啟動 AirDrop,你只要帶出控制中心(Control Center)並點擊 AirDrop。依照你想分享資料的對象,你可以選擇 僅限聯絡人 或 所有人。倘若你選擇 僅限聯絡人 選項。你的裝置只能被你聯絡人列表中的使用者看到。很清楚地,倘若你選項是所有人,你的裝置就會出現在其他裝置。
AirDrop 使用藍芽來掃描鄰近裝置。當連結透過藍芽來建立時,它會建立一個 ad-hoc WiFi 網路將兩個裝置連在一起,如此一來可以做更快速的資料傳輸。這不表示為了使用 AirDrop 就需要連上 WiFi 網路。你的 WiFi 只是需要開啟讓資料能傳輸。
舉例來說,你想要在相片 App 中從一台 iPhone 傳送照片到另外一台裝置。假設你在兩個裝置啟動 AirDrop,便可以在螢幕畫面左下方處按下分享按鈕(一個從方框穿出箭頭的圖示)與另一個裝置來分享照片。
在 AirDrop 的區域,應該會看到可以分享照片的裝置名稱。AirDrop 在螢幕關閉的情況下是不會運作的,所以要確定接收端也要保持螢幕開啟的狀況,然後選擇你要分享的照片。在接收端,你會看到照片的預覽狀況,以及請求確認的需求。接收端可以選擇是否接受這個照片,如果你選擇接受,那麼照片就會快速地傳送到你的手機中,並儲存在你的相機膠卷內。
AirDrop 不僅是在相片 App 可以使用,你也可以在一些內建的 App 中找到這個分享的功能,像是聯絡人、iTunes、App Store、Safari 瀏覽器。假如你對 AirDrop 還很陌生,你現在應該更有概念了。
我們來看如何把這個 AirDrop 功能整合到 App 中,讓使用者可以分享各種不同的資料。
本文摘自《iOS 17 App程式設計進階攻略》一書。如果你想繼續閱讀和下載完整程式碼,你可以從AppCoda網站購買完整電子版,全書範例檔皆可下載。