HSGoogleDrivePicker
一个理智简单的 Google Drive 文件选择器。
Google 使得从 Google Drive 选择文件变得非常痛苦。
对于许多用例,您可能只想显示一个选择器,并在用户选择文件时收到通知。
这是 Google 应该编写的 API。
示例
import HSGoogleDrivePicker
let picker = HSDrivePicker()
picker.pick(from: self) {
(manager, file) in
print("picked file: \(file?.name ?? "-none-")")
}
从 2.0 升级到 3.0
- 使用上面的选择器初始化
- 按照下面的“配置登录过程”部分进行操作
- 注意,GTLDriveFile 在回调中已更改为 GTLRDrive_File
安装 HSGoogleDrivePicker
您可以通过使用 CocoaPods 将 HSGoogleDrivePicker 安装到您的项目中。
pod 'HSGoogleDrivePicker', '~> 3.0’
获取您的API密钥
- 遵循谷歌指南(只执行步骤1)。
- 启用Drive API权限。(点击“APIs和Auth”,“APIs”,然后搜索“Drive”)
配置登录过程
-
从Google下载配置文件
-
将配置文件添加到您的项目
-
或者通过在appDelegate中调用
GIDSignIn.sharedInstance().clientID = "YOUR_CLIENT_ID"
手动配置GoogleSignIn -
向您的项目添加URL方案
- 打开您的项目配置:在左边的树视图中双击项目名称。在TARGETS部分选择您的应用程序,然后选择“Info”标签,展开“URL Types”部分。
- 点击+按钮,为反转后的客户端ID添加一个URL方案。为了找到这个值,打开GoogleService-Info.plist配置文件,查找REVERSED_CLIENT_ID键。复制此键的值,并将其粘贴到配置页面的URL Schemes框中。其他字段留空。
完成时,您的配置应类似于以下内容(但使用您的应用程序特定的值)
- 在您的app delegate中处理url回调
在您的AppDelegate.m
import HSGoogleDrivePicker
func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey : Any] = [:]) -> Bool {
if HSDrivePicker.handle(url) {
return true
}
//Your code for other callbacks
return true
}
使用方法
创建并显示选择器
import HSGoogleDrivePicker
let picker = HSDrivePicker()
picker.pick(from: self) {
(manager, file) in
print("picked file: \(file?.name ?? "-none-")")
}
完成处理程序返回一个包含所有所需信息的GTLRDrive_File。
要下载文件,请使用
manager?.downloadFile(file, toPath: destinationPath, withCompletionHandler: {
error in
if error != nil {
print("Error downloading : \(error?.localizedDescription ?? "")")
} else {
print("Success downloading to : \(destinationPath)")
}
})
状态
欢迎提交拉取请求。
许可证
HSGoogleDrivePicker 使用 MIT 授权许可。有关更多信息,请参阅 LICENSE 文件。