Tag: Darshan Sonde

使用iOS ReplayKit屏幕记录您的应用程序以进行错误报告

继续探索一些不常见的iOS框架的尝试,我们将尝试研究一个有趣但不受欢迎的候选者ReplayKit 。 ReplayKit使应用程序开发人员可以在其应用程序中记录活动的视频。 您也可以使用麦克风捕捉声音。 此框架自iOS 9起可用。从iOS 10开始,此框架使您可以为视频添加面部时间记录(例如实时评论)。 您甚至可以现场直播该应用程序的屏幕录像。 在wwdc会议中,Apple主要强调使用ReplayKit从游戏内部录制/直播您的游戏。 在任何应用程序中使用ReplayKit的一种可能性是错误报告。 如果测试人员可以选择记录导致错误的流程以及对缺陷的解释,那么事情会变得很容易。 但是您将无法使用ReplayKit报告任何崩溃。 我们稍后再讨论。 让我们来看一个示例,展示如何在这种情况下使用ReplayKit 。 项目概况 我们的项目由一个视图控制器组成,该控制器在表格中显示书籍及其作者的列表。 由于没有可供浏览的详细信息屏幕,因此当您单击书本条目时,在表格视图单元格上显示选择内容毫无意义。 但是默认情况下,表格视图单元格是可选的。 这可能是我们试图报告的错误。 BookListVC :显示书籍和作者的列表。 我们完成的BookListVC看起来像这样。 设置屏幕录像机 要设置屏幕录像机,我们使用ReplayKit的RPScreenRecorder类。 var screenRecorder:RPScreenRecorder? RPPreviewViewControllerDelegate RPPreviewViewController的代表在被关闭时会收到通知。 从屏幕快照中可以看到,有两种方法可以关闭视图控制器,既可以将记录保存为照片,也可以选择不选择。 如果应通知您的视图控制器如何解雇预览视图控制器,则应使用以下委托方法。 func PreviewController(RPPreviewViewController,didFinishWithActivityTypes:Set ) 从活动类型中,您可以找出如何解雇控制器。 如果集合包含saveToCameraRoll,则记录已保存到相机胶卷中。 如果集合为空,则仅关闭预览视图控制器。 如果您不熟悉活动类型,请遍历UIActivityType并内置活动类型 。 如您所见,预览视图控制器已关闭。 当应用程序导航到预览视图控制器时,我们将隐藏包含记录指示的窗口。 一旦将其关闭,就必须显示它,因为它是主UI的一部分。 您可以在下面查看我们的应用程序的录像。 崩溃报告失败!!! 现在回到为什么无法使用ReplayKit记录崩溃的原因 。 如果应用程序崩溃,整个录制流程将中断,并且永远无法将录制内容保存到“照片”中。 同样,涉及到移至后台然后弹回应用程序中的错误也无法正确记录。 在应用程序进入后台之前和应用程序进入前台之前,您将获得记录,而不是在应用程序外部花费的时间。 如果需要更清晰的说明,则可以自由浏览源代码 。 参考文献 ReplayKit上线– WWDC 2016 […]

带附件的iOS 10通知以及更多其他内容

这是关于iOS 10通知的两部分文章的第二部分。 今天,我们将详细介绍如何实现通知附件的技术细节以及iOS 10中引入的许多更复杂的功能。 首先,Apple已将通知处理移至名为UserNotifications的新框架。 请参阅https://medium.com/@prianka.kariat/ios-10-notifications-an-overview-8e88b7f3436b#.1yk3ij8j4了解iOS 10通知中的新功能。 本文将分为以下几部分 权限处理 带有附件和通知处理的本地通知 带有附件的远程通知 自定义通知的UI 1.权限处理 为了使您的应用能够将通知发送到设备,它应该向用户询问权限。 可以使用UserNotifications框架按以下说明进行操作 。 不同的通知可能具有不同的操作。 如果您可以从应用程序发送短信和电子邮件会话,则在收到每种消息时必须响应的动作将有所不同。 因此,我们有通知类别。 稍后您将了解到,当您想为不同的通知实现自定义界面时,这些类别也很重要。 UNUserNotificationCenterDelegate 如果用户在取消通知或单击操作按钮后打开应用程序,则您的应用程序应实现此委托以在前台接收通知并进行任何处理。 我有一个可以删除通知的按钮。 我将仅在用户使用“发送”按钮发送通知后启用该按钮。 我们有一个文本字段,可让用户输入通知的正文。 我们仅发送带有单个标识符的通知。 因此,当收到新通知时,它将更新现有通知,而不会使通知中心混乱。 我们为通知触发器指定了10秒的间隔。 如果用户选择在发送通知之前选择发送带有修改主体的通知,则通知中心安排的旧通知将被更新。 删除通知 您可以删除传递的通知以及应用程序发送的未决通知。 附件应该很小! 使附件保持最小尺寸,尤其是在下载内容时。 短时间间隔后,操作系统将终止服务扩展。 因此,您必须确保在分配的时间之前完成处理。 我们将向用户显示食谱供稿,以作为通知。 此通知将包括以下部分。 食谱标题 字幕 -谁张贴了食谱 正文 -食谱的简短说明 视频附件 –显示配方过程 因此,当前的工作是将视频附加到服务扩展中的通知上。 您的服务扩展名有两个文件Info.plist和NotificationService.swift 您将在NotificationService中获得一些样板代码。 不过,让我们编写用于下载视频和设置通知内容的代码。 在此之前,只需确保要发送的有效负载如下。 4.自定义通知的UI 上面交付给用户的UI是带有视频附件的通知的默认UI。 iOS 10添加了自定义此UI的功能。 现在,自定义通知UI时有些事情看起来是不可能的。 动画。 […]