用户通知:自定义振动模式

2024-03-15

是否可以为用户通知警报创建自定义振动模式?例如,我们可以选择为用户通知使用不同的音频。是否也可以有自定义振动模式?

我的意思是使用 swift 在 iOS 上以编程方式执行此操作。


用于在 iOS 中创建自定义振动。使用 AudioServicesPlaySystemSoundWithVibration 和 AudioServicesStopSystemSound。

心跳振动示例

NSMutableDictionary* pulsePatternsDict = [@{} mutableCopy];
        NSMutableArray* pulsePatternsArray = [@[] mutableCopy];

        // beat for 100 times
        for (NSInteger i=0; i<100; i++){
            [pulsePatternsArray addObject:@(YES)]; // vibrate for 100ms
            [pulsePatternsArray addObject:@(100)];

            [pulsePatternsArray addObject:@(NO)];  //stop for 1200ms * 0.3
            [pulsePatternsArray addObject:@(1200*0.3)];

            [pulsePatternsArray addObject:@(YES)];  //vibrate for 100ms
            [pulsePatternsArray addObject:@(100)];

            [pulsePatternsArray addObject:@(NO)];    //stop for 1200ms * 0.5
            [pulsePatternsArray addObject:@(1200*0.5)];
        }

        [pulsePatternsDict setObject:pulsePatternsArray forKey:@"VibePattern"];
        [pulsePatternsDict setObject:[NSNumber numberWithInt:1.0] forKey:@"Intensity"];

        AudioServicesPlaySystemSoundWithVibration(kSystemSoundID_Vibrate, nil, pulsePatternsDict);

但只有调用这个(AudioServicesPlaySystemSoundWithVibration)才会使振动永远不会停止。所以我必须找到一些函数来阻止它。

答案是AudioServicesStopSystemSound。它也是 AudioToolbox 框架中的私有函数。

函数的声明就像

void AudioServicesStopSystemSound(SystemSoundID inSystemSoundID)

NOTE: AudioServicesPlaySystemSoundWithVibration仅适用于 iOS6

目前 iOS 9 和 iOS 9.1 中没有公开可用的 API。

And In iOS 10有一个新的 API 叫做UIFeedbackGenerator。看到这个更多细节。目前仅适用于 iPhone 7 和 iPhone 7 Plus。

免责声明:有一种方法可以直接与 Taptic Engine (iOS 9) 交互,但有一个私有方法。您不应该在 App Store 应用程序中使用它。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

用户通知:自定义振动模式 的相关文章

  • SwiftUI:发送电子邮件

    在正常情况下UIViewController在 Swift 中 我使用此代码发送邮件 let mailComposeViewController configuredMailComposeViewController mailCompose
  • UIView晃动动画

    我试图在按下按钮时使 UIView 摇动 我正在调整我找到的代码http www cimgf com 2008 02 27 core animation tutorial window shake effect http www cimgf
  • 从未调用过交互式委托方法

    我想在 ViewController 1 和 NavigationViewController 2 之间进行交互式转换 NavigationController 通过按钮调用 因此呈现时没有交互转换 它可以通过按钮或 UIPanGestur
  • Flutter 应用程序在 iOS 平台的 firebase 电话身份验证中崩溃

    我在我的项目中实现了 Firebase Phone auth 在 Android 端 一切正常 但对于 iOS 端 当我尝试从我的端发送验证码时 应用程序崩溃并失去连接 我已在下面提交了我的代码 主程序 dart class MyApp e
  • iPhone X 将对象底部与安全区域对齐会破坏其他设备上的外观

    关于 iPhone X 自动布局怪癖的问题 我有两个按钮 以前这些按钮将与超级视图底部对齐 偏移量为 20 以免它们接触屏幕底部 此后我将链接更改为安全区域而不是超级视图 Here s the original setup Looks go
  • 如何在 iOS 13 中将 UISegmentedControl 的背景颜色设置为白色

    iOS 13 对 UISegmentedControl 进行了一些更改 包括切换所选片段时的非常漂亮的动画 但是我注意到它没有显示backgroundColor属性正确 它似乎总是有一点色彩 我见过回答如何设置的问题selectedSegm
  • $0 和 $1 在 Swift 闭包中意味着什么?

    let sortedNumbers numbers sort 0 gt 1 print sortedNumbers 谁能解释一下什么 0 and 1在斯威夫特中意味着什么 另一个样本 array forEach actions append
  • Swift:长按手势识别器 - 检测轻击和长按

    我想连接一个动作 如果手势是点击 它会以特定的方式为对象设置动画 但如果按下持续时间超过 0 5 秒 它会执行其他操作 现在 我刚刚连接了动画 我不知道如何区分长按和点击 如何访问新闻持续时间以实现上述目的 IBAction func ta
  • iOS 7 tabBar 横线,如何去掉?

    Apple 在 iOS 7 中的 tabBar 上添加了一条细线 该线应该在 tabBar 和 UI 之间起到阴影或淡入淡出的作用 由于我使用的是定制的 tabBar 这条线非常令人恼火 你如何删除它 请告诉我这是可能的 否则我需要重新设计
  • 在 iOS 上使用 RNCryptor 异步解密大文件

    我需要在 iOS 上使用 RNCryptor 异步解密一个大文件 以便显示进度条 我在任何地方都找不到示例 因此尝试了我猜对的方法 但是 我想出的方法不起作用 解密器的处理程序从未被调用 并且线程在发送所有数据后因 EXC BAD ADDR
  • CATextLayer 上 iOS 6 中不需要的垂直填充

    背景 我在 iOS 5 中开始了我的项目 并构建了一个带有图层的漂亮按钮 我在按钮上添加了一个 textLayer 并使用以下代码将其居中 float textLayerVerticlePadding self bounds size he
  • 动态调度协议扩展不适用于多个目标

    这是我的主要目标中的代码 所以不是测试目标 protocol ProtocolA func dontCrash extension ProtocolA func dontCrash fatalError func tryCrash dont
  • 当应用程序进入前台时,如何重新启动基于块的动画?

    我有以下基于块的动画 UIView animateWithDuration 0 5f delay 0 0f options UIViewAnimationOptionRepeat UIViewAnimationOptionAutorever
  • 根据内容自动更改单元格高度 - Swift

    在 Swift 中使用 UITableView 有人可以帮我根据标签 图片和描述自动更改单元格的高度吗 所有信息都正确传递 我只需要帮助格式化它 我尝试使用调整它cell frame size height 但这没有效果 我可以更改故事板中
  • 如何使用 IOS 12 在 UITableViewCell 中正确添加 UICollectionView

    由于某些原因 在使用 Xcode 10 beta 时 我无法正确显示 tableview 单元格内集合中的某些项目 在过去的四天里我尝试了我所知道的一切 我做了一个小项目样本来看看我的问题是什么 如果有人想在本地运行完整代码 请参见此处 h
  • Xcode 异步单元测试在主线程上等待

    我正在尝试使用 Xcode 中的单元测试来测试一些异步代码 但主线程被阻塞 问题在于 某些正在测试的代码期望从 iOS 类 AVFoundation 接收回调 但是 AVFoundation 类似乎只会在主线程上回调 问题是 如果我正在进行
  • 从现有坐标地图套件中查找最近的位置

    我正在为拥有多家商店的客户开发 iPhone 应用程序 目标 C 我有数组中所有商店 20 的坐标 纬度 长 目前我正在考虑循环遍历商店坐标数组并获取从用户当前位置到商店位置的距离 然后将它们添加到数组中并按最小距离进行排序 这是正确的方法
  • 有没有办法在 onclick 触发时禁用 iPad/iPhone 上的闪烁/闪烁?

    所以我有一个有 onclick 事件的区域 在常规浏览器上单击时 它不会显示任何视觉变化 但在 iPad iPhone 上单击时 它会闪烁 闪烁 有什么办法可以阻止它在 iPad iPhone 上执行此操作吗 这是一个与我正在做的类似的示例
  • UIViewController 内的 UIsearchController 使用自动布局

    有没有人成功实施过UIViewController其中包含两个UISearchController searchBar and a UItableView使用自动布局来布局所有内容 我正在尝试实现类似的目标1密码 https itunes
  • 致命错误:在 Swift 中解包可选值时意外发现 nil

    所以我试图获取 Swift 中输入字段的文本 这就是我得到的 class ViewController UIViewController IBOutlet var passwordField UITextField IBOutlet var

随机推荐

  • 如何让顶部的大图片变小并最终粘在顶部?

    我想将我的网站分为两部分 包含大图像的标题和包含其他图像 文本等的主要部分 当我滚动页面时 标题上的大图像应该与主要部分一起滚动 在某一时刻 图像应该变得固定 并且主要部分在其后面滚动 我尝试了一些不同的方法 但我无法获得位置 显示 顶部等
  • d3 js - 将气泡聚集到分段

    最新小提琴 https jsfiddle net tk5xog0g 8 https jsfiddle net tk5xog0g 8 第二次摆弄自定义图表 随机将气泡放置在靠近区域的区域 但不能考虑重叠或从中心图表区域脱落的情况 http j
  • 从日期时间中删除分钟 - sql

    DECLARE MinutesToAdd int 20 DECLARE StartTimeDate datetime 2017 06 05 14 37 56 113 DATEADD minute MinutesToAdd StartTime
  • 在 React/Redux 中分派操作时有没有好的方法来防止默认情况?

    我正在调度一个操作 该操作运行一个减速器 在表单提交时将一些文本推送到我的 redux 状态 我知道在 Vue 中你可以preventDefault就在 DOM 中 但我在 React 中没有看到任何东西可以让这看起来成为可能 我想知道阻止
  • WordPress 网站中的 jQuery UI 工具提示

    尝试让工具提示使用图片而不是文本 到目前为止 它适用于我网站中的文本 a href title hello world ALOHA a 这工作正常 它在链接悬停时显示 hello world 但如果我尝试以下操作 工作 jsfiddle 示
  • 如何调试生成格式错误的可执行文件的实验工具链

    我正在使用交叉编译一个实验性的 GNU 免费 Linux 工具链clang http clang llvm org 代替gcc compiler rt http compiler rt llvm org 代替libgcc libunwind
  • sql 将单行转换为键/值列

    我有一个返回 1 行的 SQL 查询 其中包含多个列标题 Col 1 Col 2 Col 3 val 1 Val 2 Val 3 有没有办法将此行转换为 2 列 即 Col 1 Val 1 Col 2 Val 2 Col 3 Val 3 这
  • 严格别名警告,创建对 unsigned char 数组 + 偏移量的 uint32_t 引用

    在 GNU GCC 4 7 0 中 我收到了一些严格的别名警告 我想解决这些警告 我有一个有效负载 来自硬件 unsigned char payload davidlt PAYLOAD SIZE 我有这一行 uint32 t payload
  • 新类型的一个覆盖如何显示?

    我想重写 Haskell 中的默认整数构造函数 以便它们生成字符串 主要是出于好奇 但暂时为 LaTeX 的 frac 不便提供一个很好的输入替代方案 我希望能够使用语言本身 而不是特殊的解析器 但我想这可能行不通 module Main
  • 如何使用 Python 和 MySQLdb 检索 mysql 数据库中的表名?

    我有一个 SQL 数据库 想知道您使用什么命令来获取该数据库中的表名列表 更完整一点 import MySQLdb connection MySQLdb connect host localhost user myself passwd m
  • 关于访问 Tuple2 内的字段时发生错误

    我正在尝试访问 Tuple2 中的字段 但编译器返回错误 该软件尝试在 kafka 主题中推送一个案例类 然后我想使用 Spark Streaming 恢复它 这样我就可以提供机器学习算法并将结果保存在 mongo 实例中 Solved 我
  • 简单的数值表达式求解器

    首先 抱歉我的英语不好 对于我的算法和数据结构类的最后一个项目 我需要用 C 创建一个简单的数值表达式求解器 它需要解决简单的表达式 例如3 12 4 6 我设法拆分表达式并将运算符与数字分开 但我无法继续下去 诀窍是将运算符放在二叉树上
  • ELMAH:Elmah 页面未设计样式,使其难以阅读

    Setup 我通过 NuGet 在 ASP NET MVC 4 站点上安装了 ELMAH 在开发机器上 应用程序安装在根目录下 一切正常 并且样式与 ELMAH 页面通常一样 它总是这样做 我的意思是在开发机器上工作 不是吗 但在服务器上
  • PDFView printWithInfo:autoRotate: 失败

    我正在尝试打印一个由一系列图像构建的 PDF 文档 如果重要的话 我会在 Mozilla 插件中完成所有这些工作 我创建 PDFDocument 并将其放入 PDFView 然后调用 printView printWithInfo NSPr
  • Map.keySet 和 Map.values 上的迭代顺序相同吗?

    对于这样的地图 Map
  • dotfuscator并行优化?

    我的公司使用 Dotfuscator 进行 NET 应用程序混淆 它工作得很好 但是我注意到在我们的构建过程中它是一个单线程操作 Dotfuscator exe 始终在我们 8 核构建机器的单个核心上运行 这让我内心有些哭泣 有什么魔法可以
  • Gunicorn 内存使用量和线程不断增长

    我正在 Kubernetes 环境中使用 Gunicorn 运行 Django 应用程序 几周以来 Pod 的内存使用量持续增长 查看进程列表后 我注意到有许多 Gunicorn 进程看似已死 但仍在使用内存 我启动 Gunicorn 的命
  • android - 以编程方式将 ID 设置为视图

    我正在添加Buttons以编程方式和数量Buttons取决于一些条件 添加规则相对布局 LayoutParams that Buttons彼此顶部对齐我需要设置它们IDs 2 3年前的所有答案都说设置 ID int 没问题 例如setId
  • 如何在 Django 中使用 Matplotlib?

    根据网上的一些例子 我编写了下面的测试代码 有用 但是如果我重新加载页面 饼图将使用相同的图像自行绘制 每次重新加载页面时 某些部分都会变得更暗 当我重新启动开发服务器时 它被重置 我该如何正确绘画Matplotlib http en wi
  • 用户通知:自定义振动模式

    是否可以为用户通知警报创建自定义振动模式 例如 我们可以选择为用户通知使用不同的音频 是否也可以有自定义振动模式 我的意思是使用 swift 在 iOS 上以编程方式执行此操作 用于在 iOS 中创建自定义振动 使用 AudioServic