将任何 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 | 推特 | 领英。
