为了账号安全,请及时绑定邮箱和手机立即绑定

让iPhone振动

让iPhone振动

天涯尽头无女友 2019-08-24 15:04:44
让iPhone振动如何将iPhone设置为振动一次?例如,当玩家失去生命或游戏结束时,iPhone应该振动。
查看完整描述

3 回答

?
慕容森

TA贡献1853条经验 获得超18个赞

从“ iPhone教程:检查iOS设备功能的更好方法 ”:

有两个看似相似的函数接受一个参数kSystemSoundID_Vibrate

1) AudioServicesPlayAlertSound(kSystemSoundID_Vibrate);2) AudioServicesPlaySystemSound(kSystemSoundID_Vibrate);

这两个功能都会震动iPhone。但是,当您在不支持振动的设备上使用第一个功能时,它会发出哔声。另一方面,第二个功能在不支持的设备上不执行任何操作。因此,如果您要持续振动设备,作为警报,常识说,请使用功能2。

首先,AudioToolbox.framework在Build Phases 中将AudioToolbox框架添加到目标。

然后,导入此头文件:

#import <AudioToolbox/AudioServices.h>


查看完整回答
反对 回复 2019-08-24
?
郎朗坤

TA贡献1921条经验 获得超9个赞

Swift 2.0+

AudioToolbox现在将其显示kSystemSoundID_VibrateSystemSoundID类型,因此代码为:

import AudioToolbox.AudioServicesAudioServicesPlaySystemSound(kSystemSoundID_Vibrate)AudioServicesPlayAlertSound(kSystemSoundID_Vibrate)

而不是必须通过额外的演员步骤

(@Dov的道具)

原始答案(Swift 1.x)

而且,这是你如何在Swift上做的(如果你遇到了和我一样的麻烦)

链接AudioToolbox.framework(转到您的项目,选择目标,构建阶段,链接二进制文件库,在那里添加库)

完成后:

import AudioToolbox.AudioServices// Use either of theseAudioServicesPlaySystemSound(SystemSoundID(kSystemSoundID_Vibrate))AudioServicesPlayAlertSound(SystemSoundID(kSystemSoundID_Vibrate))

俗气的是,这SystemSoundID基本上是一个typealias(花哨的快速typedef)a UInt32,而且kSystemSoundID_Vibrate是一个常规的Int。编译器给你一个错误,试图从中转换IntUInt32,但错误读作“无法转换为SystemSoundID”,这是令人困惑的。为什么苹果不能让它成为Swift枚举超出我的范围。

@ aponomarenko's详细介绍,我的答案仅适用于那里的Swifters。


查看完整回答
反对 回复 2019-08-24
  • 3 回答
  • 0 关注
  • 779 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信