WDFlickrPhotoUploader 0.1.2

WDFlickrPhotoUploader 0.1.2

测试已测试
Lang语言 Obj-CObjective C
许可证 MIT
发布最新发布2016年3月

Fryderyk Dyc维护。



  • 作者
  • Fred

这个Pod可以帮助您

  1. 登录到flickr
  2. 上传一批图片(或视频)并将它们分配到专辑
  3. 创建一个专辑(也称照片集)
  4. 将已上传的文件分配到照片集中
  5. 检查照片集是否存在
  6. 下载flickr的伙伴图像

该Pod当前配置为在OSX中构建,但应该没有太大问题将其扩展到支持iOS。我只是不知道如何配置pod项目来处理这一点,而且现在没有时间学习。非常欢迎拉取请求。此项目使用objectiveflickrSimpleStateMachine

使用

示例应用程序

要运行示例项目,请克隆仓库,然后首先从示例目录运行pod install。然后进入AppDelegate.m文件,用您的应用flickr凭证替换

    [WDFlickrFactory setApiKey:@"--YOUR--KEY--"];
    [WDFlickrFactory setApiSecret:@"--YOUR--SECRET--"];

占位符字符串。这是必要的,因为除了获取buddy图像之外,所有操作都需要进行身份验证和授权。您可以在以下链接创建您的flickr应用:链接。现在您已准备好构建示例应用程序并将其用于测试。登录(浏览器将弹出flickr的OAuth身份验证页面),选择一些要上传的媒体文件,然后点击上传按钮。示例应用程序会打印大量调试信息,这在不进行实际应用时不需要。整个示例应用程序都包含在AppDelegate类中。

API

在您的代码中使用此pod的基本步骤

  1. 按照示例应用程序中的格式配置apiKey和apiSecret
  2. 您的客户端类需要实现WDFlickrPhotoUploaderDataSource协议。有关实现的示例,请参阅演示应用程序。
  3. 只要您从- (WDFlickrUploadTask *)nextTask方法返回WDFlickrUploadTask对象,上传器就会继续上传。一旦您返回nil,上传器将进入完成状态。
  4. 要响应用户上传器的事件,实现WDFlickrPhotoUploaderDelegate协议。协议非常直观。所有方法都会在主线程上调用回,因此您可以自由地修改UI。
  5. 要响应用户WDFlickrController的事件,从控制器对象注册WD_Flickr_StateChanged通知。有关可以从那里获得的内容,请参阅- (void)WD_flickrControllerNotificationHandler:(NSNotification *)aNote方法。
  6. - (void)WD_initFlickr方法显示了如何使用WDFlickrFactory来配置和创建控制器和上传器。
  7. 应该只有一个 WDFlickrController 和 WDFlickrUploader 的实例,并且它们应该协同工作。我不知道我使用的底层库是否适合运行多个实例,而且我的代码也不打算并行运行。将其视为单例。
  8. SMMonitorNSLogDelegate 只是一个快速、丑陋的修复方法,以便从底层的 SimpleStateMachine 库中获得更多的调试输出
  9. 祝你们玩得开心!

文档

主要有两个类:WDFlickrController 和 WDFlickrUploader。WDFlickrController 实现了与 Flickr 的基本通信,例如登录、上传一张图片、创建相册等。另一方面,WDFlickrUploader 实现了批量图片上传的逻辑,并将文件分配给指定的相册。如果指定的相册不存在,它们将自动创建。这两个类都作为状态机实现。控制器更基础,基于 switch-case,而上传器则采用更结构化的方法,利用了 SimpleStateMachine cocoa pod。WDFlickrUploader 有大量单元测试。一些方法同步,一些异步,取决于在特定情境下哪种方法更好。以下是两个状态机的状态图。第二个更精确,如果你需要更深入理解代码,它将非常有帮助。上传器具有简单的错误处理,如果失败则重复几次。

WDFlickrController 的基本和简化状态图:

WDFlickrUploader 的相当好的状态图:

安装

WDFlickrPhotoUploader 通过 CocoaPods 提供。要安装它,只需将以下行添加到你的 Podfile

pod "WDFlickrPhotoUploader"

别忘了配置你的应用程序的 API 密钥和 API 密码!(从 flickr 获得这些信息)

作者

Fred,major [dot] freddy [at] yahoo [dot] com

许可

WDFlickrPhotoUploader 在 MIT 许可下提供。有关更多信息,请参阅 LICENSE 文件。