將任何 iOS 應用程序實現為 iMessage 應用程序的步驟
已發表: 2020-08-042016 年,iOS 10 推出,也許最重要的新聞與這個標誌性的聊天有關,當時它很引人注目,即使在非 Apple 客戶中也是如此。 在 iOS 10 中,隨著 Apple 為設計師推出了消息框架,應用程序獲得了發送和獲取消息的能力。 今天在這個 IOS Mockup 中,我們將討論 iMessage 應用程序開發。
正如 Apple 所說,該框架可用於製造應用程序或將此通知應用程序集成到當前任務中。 這將讓客戶在不離開 iMessage 的情況下與外部應用程序關聯。 從根本上說,Apple 為開發人員提供了兩種選擇:要么完全在 iMessage 中運行他們的應用程序,要么將其實用性集成到他們當前的 iOS 應用程序中。 發送 iMessage 提供的分期付款是基於 iMessage 的應用程序最有趣的應用之一。
在本文中,無論如何,我們將討論在當前的移動應用程序中設置 FaceTime 和 iMessage。 這將允許您的客戶在設備上使用 FaceTime 和 iMessage,而無需離開您的應用程序。
- 什麼是 iMessage,您將如何添加到您的移動解決方案中?
- 在 iMessage 應用程序中可以訪問容量:
- 以下是一些使用 iMessage 協調的知名應用程序:
- iMessage 使用
- 在主要應用程序中,保留您的計劃列表:
- 在 iMessage 擴充中,讀取備用信息:
- 現在,您終於可以開始從 iMessage 增強功能發送一些消息了。 以下是一些示例代碼和後續 UI:
- 測試 iMessage 應用程序
- 這就是讓應用程序正確開始所需要的:
- 測試應用程序快捷方式和分屏
什麼是 iMessage,您將如何添加到您的移動解決方案中?

自 iOS 10 以來,該服務變得非常先進。例如,連接評論目前允許客戶直接從 iMessage 觀看 YouTube 視頻,而無需打開程序。 貼紙和繪圖控制台是此通知服務中出現的另外兩個新功能。
這項服務同樣適用於 Siri,因此客戶可以在不聯繫他們的 iPhone 或 iPad 的情況下向某人發送消息或檢查任何接近的消息。 2017年,iOS 11帶來了新的分期能力; 目前可以通過 Apple Pay 直接分期付款。 與恢復的結構和新影響分離的最新 iMessages 變體的最後一個很酷的事情是與 iCloud 同步,因此消息在設備之間始終保持現代。
此外,iMessage 一直比 SMS 或 MMS 更快、更有幫助。 應該很明顯,它提供了許多亮點,因此讓您的客戶在不離開您的應用程序的情況下獲得它們可能是一個非凡的想法。 具有 iMessage 應用程序協調功能的知名應用程序。
為您推薦: iOS 和 Android 應用程序開發之間的差異。
在 iMessage 應用程序中可以訪問容量:

- 遊戲化。
- 移動分期付款。
- 餐館的建議。
- 預訂確認。
以下是一些使用 iMessage 協調的知名應用程序:

- Evernote:客戶現在可以在應用程序中安排個人作為專家活動,並在不離開 iMessages 的情況下提供帶有聯繫人的便條。
- OpenTable:客戶可以使用 iMessage 預訂餐桌,並在聚會聊天中為餐館投票。
- 嚎叫:客戶可以在 iMessage 中與聊天中的同伴及時分享最近看到的區域。
- ESPN:客戶可以給同伴打分,並使用 iOS 10 豐富的信息直接從 iMessage 觀看遊戲功能。
- Square Cash:客戶可以直接從 iMessage 向同伴的銀行發送現金。
iMessage 使用

目前我們將詳細介紹如何將 iMessage 集成到您當前的應用程序中。 iMessage 是一個不同的目標,因此第一步是將其添加到您的任務中。 轉到File -> New -> Target將打開必要的窗口。 在選擇iMessage Extension並單擊Next之後,您將看到另一個用於此目標的管理器,其中包含默認的查看控制器和情節提要。 我們稍後會回到這些。
由於 iMessage 是一個不同的目標,它需要一個單獨的應用程序標識符和配置文件。 登錄到您的工程師帳戶並為另一個目標的包標識符生成另一個 App ID。 準備好您的 App ID 後,轉到Provisioning Profiles部分並為您的新 App ID 創建、下載和引入開發和生產配置文件。
設置配置文件後,您可以開始編碼。 您的新目標將擁有自己的.xcassets文件,其中包含應用程序符號佔位符,允許您以與其他應用程序類似的方式設置 iMessage 應用程序符號。 您可以設置應用程序符號,這樣您就可以更輕鬆地在目標列表中找到您的應用程序。 選擇消息以關注目標綱要並運行它。
該應用程序當前將在設備\模擬器上打開,您將在列表中看到您的應用程序。 如果您的應用程序不存在,請單擊更多捕獲以打開應用程序列表屏幕; 此時,單擊編輯並授權您的應用程序。 由於您尚未轉換任何內容,因此您的應用程序將顯示默認的Hello World屏幕。

我們的目標信封包含Messages View Controller.swift和Main Interface.storyboard 。 我們應該包括Table View並將其設置為顯示來自我們的應用程序的一些數據,例如計劃列表。 儘管如此,我們將如何從我們的主要應用程序中追求這個破敗? 應用程序組會有所幫助。 我們應該再次返回到Developer Portal並選擇Identifiers -> App Groups並進行另一次聚會。
雙重觀察 App Groups 被授權用於您的應用程序和 iMessage 增強應用程序標識符。 目前在您的任務中,轉到設置。 對於這兩個目標,選擇Capabilities,授權 App Groups並檢查您創建的應用程序束的案例。 由於您已經包含了您的應用程序收集,您可以使用NS User Defaults在第一個和 iMessage 擴展之間移動信息。
您可能會喜歡:檢查您的應用程序是否已準備好提交到 iOS App Store 的 5 個提示。
在主要應用程序中,保留您的計劃列表:
let plans = ["Recipe 1", "Formula 2", "Formula 3", "Formula 4", "Formula 5", "Formula 6", "Formula 7"]; let defaults = UserDefaults.init(suiteName: "group.mydomain.messages") defaults?.set(recipes, forKey: "myRecipes") defaults?.synchronize()在 iMessage 擴充中,讀取備用信息:
let defaults = UserDefaults.init(suiteName: "group.mydomain.messages") whenever let savedRecipes = defaults?.array(forKey: "myRecipes") as? [String] { self.recipes = savedRecipes }利用上面的代碼和幾個UITableViewDataSource 回調,我們將獲得主要應用程序計劃在 iMessage 增強中顯示的概要。
現在,您終於可以開始從 iMessage 增強功能發送一些消息了。 以下是一些示例代碼和後續 UI:
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { _ = [tableView.deselectRow(at: indexPath, energized: true)] /Collapse plans see if it's extended on the off chance that (self.presentationStyle == .extended) { self.requestPresentationStyle(.compact) } /Layout for message let design = MSMessageTemplateLayout() layout.image = UIImage.init(named: "salad.jpeg") layout.caption = "\(self.recipes[indexPath.row]) - What a superb serving of mixed greens!" /The message itself let message = MSMessage() message.layout = design /Send a message to a dynamic discussion self.activeConversation?.insert(message, completionHandler: { (mistake) in on the off chance that (mistake == nil) { print("Message sent") } else { print("Error!") } }) }這就對了! 現在你知道如何在你的應用程序中執行 iMessage。 最後,我們應該轉向其他可以讓您的應用程序中的通信更加迷人的東西:FaceTime mix。
測試 iMessage 應用程序

iMessage 應用程序的推出歡迎 iOS 工程師組裝他們的應用程序的擴展,允許客戶從 iMessage 內部與他們合作。 對於有效構建這些擴展並提升客戶體驗的團隊來說,這是一個重大的成功,然而,無論如何,承諾都是一項可疑的任務。
這就是讓應用程序正確開始所需要的:

請確保在 iMessage 內部和外部測試第一個應用程序。 這將保證通知、客戶端承諾和 UI 在大多數情況下都能正常工作,無論它是通過本機應用程序還是 iMessage 獲得的。
您應該在所有與 iOS 10 相關的小工具上進行這些測試,並以各種尺寸進行。 請記住,iPad 2、iPad Mini、iPhone 4S 及更低版本無法訪問 iOS 10。 這將在您的測試樹中創建一個測試分支,因此以類似的方式進行計劃,並確保您的 iMessage 測試在 iOS 10 小工具上唯一激活。
由於 iMessage 需要網絡傳輸器可用性,因此請在網絡條件下進行測試(計算無網絡可用性)。 毫無疑問,您可以利用模擬全球客戶網絡狀況的基於雲的測試階段來進行這些測試。
此外,您的測試自動化結構需要完全控制小工具——應用程序上下文和小工具上下文——因此它可以與小工具連接,就像在接近呼叫、文本消息和框架彈出窗口期間的 iMessage 應用程序一樣。
iOS 工程師並不是唯一面臨這些測試障礙的人。 Android 7.x 和 7.1 Nougat 的推出帶來了兩個比較亮點,計劃具有廣泛的客戶體驗和增強的應用程序通信。
您可能還喜歡: iOS 應用程序開發的最佳編程語言。
測試應用程序快捷方式和分屏

App Shortcuts 使 Android 客戶端能夠與本地應用程序之外的顯式應用程序功能(如 Apple 的 Force Touch)進行交互。 分屏功能使兩個應用程序能夠並排顯示。 再一次,這些能力對於客戶承諾來說是非凡的。 但是,它們可能會打亂您的測試計劃。
App Shortcuts 的演示要求與上述完全相同的測試協議:在新應用程序容量內外測試應用程序,跨不同的小工具和網絡條件進行測試,並保證您的測試計算機化結構具有完全的小工具控制權。 關於分屏的實用性,由於應用程序窗口大小可以在小工具之間進行不同的指定,因此需要嘗試不同的屏幕大小。 這樣做可以保證當彈出消息或即時消息通過時,您的移動應用客戶端體驗 (UX) 不會受到干擾。
本文由 Hermit Chawla 撰寫。 Hermit 是 AIS Technolabs 的醫學博士,該公司是一家網頁設計和開發公司,通過 iPhone 應用程序原型設計服務幫助全球企業發展。 我很想分享關於社交媒體營銷服務和遊戲設計開發等的想法。關注他:Facebook | 推特 | 領英。
