如何在您的SWIFT项目中集成DROPBOX
SwiftyDropbox是一个Swift SDK,可将Dropbox轻松集成到您的项目中。 在您的项目中合并SwiftyDropbox的系统要求是:
- iOS 9.0以上
- macOS 10.11以上
- XCODE 8.0以上
在合并SDK之前,我们需要在Dropbox应用程序控制台中注册我们的应用程序,这将创建一个与我们进行的API调用相关联的应用程序记录。
使用可可豆
打开终端,通过键入cd ..进入根文件夹。
使用以下内容导航到项目目录,然后按Enter
cd
然后使用pod init或open -a Xcode Podfile创建一个新的Podfile。 打开Pod文件后,添加Pod’SwiftyDropbox’。 您的Podfile应该看起来像这样:
use_frameworks!
目标“ ”
吊舱“ SwiftyDropbox”
结束
SwiftyDropox与Swift 3兼容,但它也具有Swift 2.3兼容分支。 您可以使用以下方式访问它
use_frameworks!
目标“ ”
pod’SwiftyDropbox’,:git =>’https://github.com/dropbox/SwiftyDropbox’,:branch =>’swift_2_3′
结束
运行以下命令以逐个安装依赖关系
$ pod安装
$ pod更新
恭喜你! 您已成功将SwiftyDropbox SDK安装到项目中。
现在转到您的项目并打开.plist。 添加以下内容以处理Apple的新安全更改。
LSApplicationQueriesSchemes
dbapi-8-emm
dbapi-2
这样,Dropbox SDK可以检查设备上是否安装了正式的Dropbox应用程序(如果已安装),则可以使用该应用程序以编程方式获取OAuth 2.0访问令牌。
还将以下代码添加到您的.plist
CFBundleURLTypes
CFBundleURLSchemes
db-
CFBundleURLName
在上面的代码中更改。 您可以从最初注册应用程序的Dropbox应用程序控制台获取应用程序密钥。 保存所做的更改。
初始化客户端
将以下代码添加到项目的AppDelegate.swift中。 不要忘记用应用程序的应用程序密钥替换。
导入SwiftyDropbox
func application(_ application:UIApplication,didFinishLaunchingWithOptions launchOptions:[UIApplicationLaunchOptionsKey:Any]?)->布尔{
DropboxClientsManager.setupWithAppKey(“ ”)
返回真
}
转到视图控制器并添加以下代码。
导入SwiftyDropbox
func OpenAuthorizationFlow(){
DropboxClientsManager.authorizeFromController(UIApplication.shared,
控制器:自我,
openURL:{(URL:URL)->无效
UIApplication.shared.openURL(URL)
})
}
有3种检索访问令牌的方法
- 如果设备上安装了iOS官方的Dropbox应用,则将通过该应用进行身份验证,然后重定向回SDK。 此方法称为直接验证
- 该应用程序将打开一个I -App WebView,以使用Dropbox的身份验证页面进行身份验证。
- 启动默认浏览器是另一种方法。
因此,如果您想使用应用内网页视图进行身份验证,则将browserAuth设置为false,这是authorizeFromController:controller:openURL:browserAuth方法中的第四个参数。
编译并运行项目,您将看到一个这样的窗口
接下来,授权完成后,我们需要处理重定向。 将以下代码添加到AppDelegate.swift
func application(_ app:UIApplication,打开url:URL,选项:[UIApplicationOpenURLOptionsKey:Any])-> Bool {
如果让authResult = DropboxClientsManager.handleRedirectURL(url){
切换authResult {
大小写.success(let token):
打印(“成功!用户使用令牌:\(令牌)登录到Dropbox”)
案例.cancel:
打印(“用户取消了OAuth流。”)
大小写.error(让错误,让描述):
打印(“错误\(错误):\(描述)”)
}
}
返回假
}
点击“ 允许”后, db-
重定向URL将从db-
启动,并将在您的应用程序委托的application:handleOpenURL
方法中进行处理,从该方法中可以解析授权结果。
恭喜你! 您已成功将Dropbox合并到您的应用中。
🙂