测试已测试 | ✗ |
语言语言 | SwiftSwift |
许可证 | MIT |
发布最后发布 | 2016年11月 |
SwiftSwift 版本 | 3.0 |
SPM支持 SPM | ✗ |
由 Gabe Kangas 维护。
依赖项 | |
GRMustache.swift | >= 0 |
CLImageEditor | >= 0 |
CLImageEditor/TextTool | >= 0 |
许多组织在 GitHub 上运营,不仅用于代码仓库,而且还大量使用 Issues、问题追踪/反馈报告工具。不是将用户路由到 GitHub 并期望他们提交问题,这个选项可以直接从您的 iOS 应用程序内部支持它。
要运行示例项目
pod install
。Config.swift
并添加您的 GitHub 详细信息(用户、API 密钥、仓库)以及 Google Cloud Storage 存储桶名称。issueTemplate.md
中使用的 Mustache 模板。它允许无需代码即可迭代实际问题内容。GitYourFeedback 通过 CocoaPods 提供。要安装它,只需将以下行添加到您的 Podfile 。
pod "GitYourFeedback"
或者,如果您正在使用 Carthage,将 GitYourFeedback 添加到您的 Cartfile。
github “gabek/GitYourFeedback”
为将问题保存到您仓库的 GitHub 用户生成一个 个人访问令牌。
在您的项目的 Info.plist
文件中添加一个键 NSPhotoLibraryUsageDescription
,并输入一个字符串说明您使用照片库是为了提交截图。这是面向用户的,因此请自行判断。
创建一个 FeedbackReportingOptions
对象并填写属性。就像这样
let feedbackOptions = FeedbackReportingOptions(token: "abc123", user: "repoman", repo: "repoman/myRepository")
或者,您可以创建自己的结构体,这个结构体遵循 FeedbackOptions
协议,并使用它。这样,您不需要将所有初始化值都放在一行中。
let feedbackReporter = FeedbackReporter(options: feedbackOptions)
您还需要实现 FeedbackReporterDatasource
,以便向 FeedbackReporter 设定上传截图的位置。最简单的实现可能是这样的
func uploadUrl(_ completionHandler: (String) -> Void) {
let filename = String(Date().timeIntervalSince1970) + ".jpg"
let url = "https://www.googleapis.com/upload/storage/v1/b/mybucketname.appspot.com/o?name=\(filename)"
completionHandler(url)
}
您也可以实现其他方法,以在提交的问题中提供更多信息。
func additionalData() -> String?
func issueLabels() -> [String]?
这里您还可以生成一个签名 URL,可能来自您的后端,这样 Google Cloud Storage 存储桶就不需要是完全公开的。
当用户在您的应用中截屏时,界面将自动显示。如果这是用户在您的应用中第一次截屏,他们将看到一个 iOS 权限对话框,指出为了使用截图他们需要允许您的应用访问他们的“照片”。您可能需要强调用户应接受这一请求。它使用您在 Info.plist 文件的 NSPhotoLibraryUsageDescription
键中添加的文本。
您还可以手动调用 feedback.display()
并可选地指定要从中呈现的特定视图控制器。使用这种方法,如果用户想发送一个截图,他们将必须手动选择。
Gabe Kangas, [email protected]. @gabek
图标来自:由 Madebyoliver 设计,来自 Flaticon。
GitYourFeedback 在 MIT 许可证 下提供。有关更多信息,请参阅 LICENSE 文件。