EvidenceUploadSDK
示例
要运行示例项目,请克隆仓库,并首先从示例目录中运行 pod install
。
要求
安装
EvidenceUploadSDK 可以通过 CocoaPods 获取。要安装它,只需将以下行添加到您的 Podfile
pod 'EvidenceUploadSDK'
接入流程
环境配置
在info.plist中配置 相机、相册、位置、等信息
- Privacy - Camera Usage Description
- Privacy - Microphone Usage Description
- Privacy - Photo Library Additions Usage Description
- Privacy - Photo Library Usage Description
- Privacy - Location When In Use Usage Description
初始化
因为文件上传需要使用位置信息,需要初始化位置信息获取定位服务
LocationManager.shared.locationUpdateHandler = { coordinate, address in
print("coordinate \(coordinate) \(address)")
}
通过UIImagePickController 代理方法实现文件的拍照、拍视频、选择图片或者视频进行上传
```
extension ViewController: UIImagePickerControllerDelegate, UINavigationControllerDelegate {
func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String: Any]) {
saveAssetToLibraryAndUpload(info: info, token: token) { fileName, objectKey, progress in
print("\(fileName) \(objectKey) \(progress)")
} completionHandler: { fileName, objectKey, error in
print("\(fileName) \(objectKey) \(error)")
}
picker.dismiss(animated: true)
}
func imagePickerControllerDidCancel(_ picker: UIImagePickerController) {
picker.dismiss(animated: true)
}
```
音频录制使用 AudioRecorder, 录制完成后在代理方法中进行上传
let activatedRecorder = AudioRecorder()
activatedRecorder.delegate = self
```
extension ViewController: AudioRecorderDelegate {
func audioRecorderDidStartRecording(_ recorder: EvidenceUploadSDK.AudioRecorder) {
print("audioRecorderDidStartRecording")
}
func audioRecorderDidAbort(_ recorder: EvidenceUploadSDK.AudioRecorder) {
print("audioRecorderDidAbort")
}
func audioRecorderDidFinishRecording(_ recorder: EvidenceUploadSDK.AudioRecorder, andSaved file: URL) {
print("audioRecorderDidFinishRecording file = \(file)")
uploadFileByFilepath(fileUrl: file, scene: .recording, token: token) { fileName, objectKey, progress in
print("\(fileName) \(objectKey) \(progress)")
} completionHandler: { fileName, objectKey, error in
print("\(fileName) \(objectKey) \(error)")
}
}
func audioRecorderDidRecording(_ recorder: EvidenceUploadSDK.AudioRecorder) {
print("audioRecorderDidAbort")
}
}
```
}
作者
lihouzhao, [email protected]
许可协议
EvidenceUploadSDK遵守MIT许可证。有关更多信息,请参阅LICENSE文件。