DropboxBrowser 6.1.2

DropboxBrowser 6.1.2

测试已测试
Lang语言 Obj-CObjective C
许可 MIT
发布最新发布2017年8月

Sam Spencer 维护。



Dropbox Browser提供了使用Dropbox的API和SDK浏览、搜索和下载文件的一种简单有效的方法。几分钟内,您将拥有一个在您的应用程序中运行的Dropbox文件浏览器,允许用户浏览和下载他们的文件。

功能

以下列出了项目的亮点和关键功能。Dropbox Browser具有为iOS 7构建的出色界面,强大的文件处理功能,通知整合,后台支持和文件搜索能力。

用户界面

DropboxBrowser具有类似于实际Dropbox应用程序的美观简洁界面。界面为最新的iOS技术构建,也易于自定义。

文件

当用户点击文件时,DropboxBrowser会检查该文件是否已下载。如果文件尚未下载,则将其下载到应用程序的 缓存目录。如果本地和远程文件之间发生冲突,DropboxBrowser会尝试解决冲突。如果冲突无法解决,您将通过代理方法通知,并有机会自己处理下载。

项目详情

了解有关项目要求、许可证、贡献和设置的更多信息。

要求

在iOS项目中使用,需要至少Xcode 6.0。部署目标至少需要iOS 8.0。示例项目仅兼容Xcode 6.3及以上版本。

当前构建目标 最早支持的构建目标 最早的兼容构建目标
iOS 10.3 iOS 9.0 iOS 8.0
Xcode 8.3 Xcode 7.0 Xcode 6.3
LLVM 8.0 LLVM 7.0 LLVM 6.0

要求备注
支持表示库已与该版本进行了测试。 兼容表示库应该适用于此操作系统版本(即它不依赖于任何不可用的SDK功能),但不再对其进行兼容性测试,并且可能需要调整或错误修复才能正确运行。

贡献

任何贡献都非常欢迎!您可以通过GitHub上的拉取请求和问题进行贡献。

安装与设置

按照以下说明正确将 DropboxBrowser 整合到您的项目中。使用提供的示例项目作为设置您自己的项目的指南。

安装 - 手动

下载或克隆此存储库,然后将 "ODB Classes" 文件夹及其包含的类复制到您的 Xcode 项目中。

设置

  1. 在 Dropbox(https://www.dropbox.com/developers)上注册为开发者并设置您的应用程序。

  2. 使用以下回调(如下所示)更新您的 App Delegate 中的以下方法。将 "APP_KEY" 替换为步骤 1 中的您的应用程序密钥

    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
           // Override point for customization after application launch.
           
           // Setup Dropbox Here with YOUR OWN APP info
           [[ODBoxHandler sharedHandler] prepareForPotentialSessionWithKey:@"APP_KEY"];
           
           return YES;
    }
    
    - (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options {
           [[ODBoxHandler sharedHandler] handleDropboxAuthenticationResponse:url];
    
           // Add whatever other url handling code your app requires here
           return YES;
    }
    
  3. 使用您的新 Dropbox 应用密钥和密钥编辑您应用程序的 Info.plist。Dropbox 的说明见此处 https://github.com/dropbox/dropbox-sdk-obj-c#configure-your-project

  4. 将 ODBTableViewController 添加到您的界面中,无论是通过编程方式还是通过故事板。如果您通过故事板添加,可以在界面构建器中编辑一些属性。

  5. 实现 Dropbox Handler 的 ODBoxDelegate 代理。实现后,当文件下载或下载失败时,您将接收到调用。

    [[ODBoxHandler sharedHandler] setDelegate:self];
    
  6. 在应用程序的生命周期中某个适当的时候,检查用户的 Dropbox 状态

     BOOL loggedIn = [[ODBoxHandler sharedHandler] clientIsAuthenticated];
    
  7. 可选,您可能需要实现 ODBTableViewControllerDelegate 代理以覆盖默认的下载和视图生命周期函数。

文档

文档在 Xcode 内部可用(Option-Click/右键单击方法或属性以获取快速帮助)。以下是一些关键方法和属性。

属性

在显示 ODBTableViewController 之前必须设置属性。

客户端身份验证状态

检查当前用户是否已验证。在发生错误或用户尚未验证的情况下,可能会返回 NO。

- (BOOL)clientIsAuthenticated;

自定义下载目录

customDownloadDirectory 属性允许您指定在应用程序的沙盒内文件下载的位置。这必须是一个本地 NSURL 对象且必须位于应用程序的沙盒内。如果您提供一个无效的文件 URL 或应用程序没有写入权限的 URL,文件将下载到应用程序的缓存目录。缓存目录有时会被系统清除,因此处理下载到缓存中的文件是应用程序的责任。

@property (nonatomic, strong, nullable) NSURL *customDownloadDirectory;

覆盖现有文件

downloadsOverwriteLocalConflicts 设置为 YES 以覆盖与 Dropbox 服务器的新下载冲突的本地文件。默认设置为 NO,当存在冲突时返回错误并停止。

@property (nonatomic, assign) BOOL downloadsOverwriteLocalConflicts;

方法

在某些情况下,您可能需要手动下载文件,检查用户是否已登录,或执行任何其他任务。DropboxBrowser 提供了一些专门为此目的的方法。

下载文件

在某些使用场景中,您可能需要在不直接从 ODBTableViewController 获取用户输入的情况下下载文件。有两种方法可以独立于 ODBTableViewController 触发下载。

第一种是 downloadDropboxFile,它将提供的文件下载到指定下载文件夹(应用程序的缓存或自定义下载目录)的路径下。完成处理程序提供了一个文件路径。

- (void)downloadDropboxFile:(NSString *)file completion:(void (^)(NSURL *filePath, NSError *error))finishBlock updateProgress:(void (^)(NSNumber *progress))progressChanged;

另一种方法是 downloadDropboxFileData,它下载文件数据并将其作为 NSData 对象传递给完成处理程序。

- (void)downloadDropboxFileData:(NSString *)file completion:(void (^)(NSData *fileData, NSError *error))finishBlock updateProgress:(void (^)(NSNumber *progress))progressChanged;

注销

如果用户明确请求撤回对其账户的访问,则需要调用此方法。

- (void)clientRequestedLogout;