如何在您的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合并到您的应用中。

🙂