Vifra
Vifra是一个针对macOS、iOS和watchOS的框架,它提供简化了对设备执行器的访问,以便提供触觉反馈(通过触控引擎进行振动)。
要求
- Swift >= 4
- macOS >= 10.12
- watchOS >= 2.0
安装
Swift包管理器
Swift包管理器是一种用于自动分发Swift代码的工具,它是集成在swift
编译器中的。它处于早期开发阶段,但Vifra在支持平台上支持使用。
一旦设置好您的Swift包,将Vifra作为依赖项添加就像将其添加到Package.swift
中的dependencies
值一样简单。
dependencies: [
.package(url: "https://github.com/matis-schotte/Vifra.git", from: "0.4.0")
]
请确保部署目标设置为正确的版本(例如macOS 10.12),并且所有必要的框架都已链接(例如MultitouchSupport.framework)。为了避免出现“未定义符号”,应该使用桥接头。可能的构建命令如下:
$ swift build -Xswiftc "-target" -Xswiftc "x86_64-apple-macosx10.12" -Xswiftc "-import-objc-header" -Xswiftc ".build/checkouts/Vifra.git-6919244937016367571/Vifra/Vifra-Bridging-Header.h" -Xlinker -F/System/Library/PrivateFrameworks -Xlinker -lMultitouchSupport && swift run
Carthage
Carthage 是一个去中心化的依赖管理器,它可以构建您的依赖并提供二进制框架。
您可以使用以下命令通过 Homebrew 安装 Carthage
$ brew update
$ brew install carthage
要使用 Carthage 将 Vifra 集成到您的 Xcode 项目中,请在您的 Cartfile
中指定它
github "matis-schotte/Vifra" ~> 0.4
运行 carthage update
构建框架,并将构建好的 Vifra.framework
拖到您的 Xcode 项目中。
CocoaPods
CocoaPods 是 Cocoa 项目的依赖管理器。您可以使用以下命令安装
$ gem install cocoapods
要使用 CocoaPods 将 Vifra 集成到您的 Xcode 项目中,请在您的 Podfile
中指定它
pod 'Vifra'
然后,运行以下命令
$ pod install
手动
如果您不想使用上述任何依赖管理器,您可以手动将 Vifra 集成到项目中。
- 打开终端,
cd
到您的顶层项目目录,并运行以下命令(如果您的项目未初始化为 git 仓库)
$ git init
- 使用以下命令将 Vifra 添加为 git 子模块
$ git submodule add https://github.com/matis-schotte/Vifra.git
- 打开新的
Vifra
文件夹,并将Vifra.xcodeproj
拖到您的 Xcode 应用项目导航器中。 - 在项目导航器中选择
Vifra.xcodeproj
并验证其部署目标与您的应用目标匹配。 - 接下来,在项目导航器中选择您的应用项目(蓝色项目图标),导航到配置窗口,并在侧边栏的“目标”标题下选择应用目标。
- 在窗口顶部的选项卡栏中,打开“通用”面板。
- 在“已嵌入的二进制文件”部分下点击
+
按钮。 - 您将看到某处有
Vifra.framework
,只需选择正确版本即可。 - 就这样,试试
import Vifra
吧!
使用
您可以使用以下任一行代码,并用预定义枚举值发出触觉反馈
Vifra.feedback(.strong)
Vifra.feedback([.strong, .weak, .delay(usec: 500_000), .strong])
已知问题
- macOS: 使用了一个私有框架;因此,它不太可能被应用商店接受。
- macOS: 您无法启用沙盒权限;如果您这样做,在从
Vifra.feedback()
内部调用时,会 encountering the error -536870174 duringVifra.setup()
。
待办事项
- 添加Carthage支持
- 添加iOS支持(UIFeedbackGenerator和AudioServicesPlaySystemSound(kSystemSoundID_Vibrate))
- 更新macOS支持(NSHapticFeedbackPerformer)
许可证
Vifra遵循MIT许可证。有关更多信息,请参阅LICENSE 文件。
作者
Matis Schotte, [email protected]