PDMovieKit 1.1.1

PDMovieKit 1.1.1

Pete Morris 维护。



PDMovieKit

免费公有领域电影,适用于 iOS 和 tvOS

目录

简介

PDMovieKit 是一个适用于 iOS 和 tvOS 的简单框架,它允许您的应用程序访问从 Internet Archive 项目中数百个免费的公有领域电影。

安装 PDMovieKit

Carthage

将PDMovieKit作为依赖项添加到项目中的Cartfile

github "p-morris/PDMovieKit" ~> 1.0.0

使用Carthage构建项目的依赖项

carthage update

构建过程完成后,从Carthage构建文件夹中拖动iOS(PDMovieKit.framework)或tvOS(PDMovieKit_tvOS.framework)文件到您的项目中。

确保在项目设置中的链接库和框架部分列出了PDMovieKit框架。

切换到构建阶段选项卡,并添加新的运行脚本阶段

/usr/local/bin/carthage copy-frameworks

输入文件下,添加iOS或tvOS适当的输入框架文件。

对于tvOS,添加:$(SRCROOT)/Carthage/Build/tvOS/PDMovieKit_tvOS.framework

对于iOS,添加:$(SRCROOT)/Carthage/Build/iOS/PDMovieKit.framework

输出文件下,添加iOS或tvOS的适当输出文件名

对于tvOS,添加:$(BUILT_PRODUCTS_DIR)/$(FRAMEWORKS_FOLDER_PATH)/PDMovieKit_tvOS.framework

对于iOS,添加:$(BUILT_PRODUCTS_DIR)/$(FRAMEWORKS_FOLDER_PATH)/PDMovieKit.framework

注意:您可以将输入和输出文件添加到现有的运行脚本阶段以及您之前已添加的其他Carthage依赖项中。

CocoaPods

将PDMovieKit添加到您的Podfile中

pod 'PDMovieKit'

通过运行以下命令来安装PDMovie

pod install

入门

1) 导入PDMovieKit

Carthage

对于Carthage用户,如果您在iOS项目中使用PDMovieKit,请使用以下import

import PDMovieKit

对于tvOS,使用

import PDMovieKit_tvOS

CocoaPods

CocoaPods用户可以使用以下import语句在iOS和tvOS上均能使用

import PDMovieKit

2) 列出电影分类

在PDMovieKit中,电影属于一组分类。您可以使用PDCategory类中的静态方法allCategories(completion:)获取一个包含PDCategory对象的数组

PDCategory.allCategories { (categories, error) in
  if let categories = categories {
      // Show the categories to the user
  }
}

PDCategory是一个非常简单的数据结构,包括namethumbnail属性。

name属性是一个表示分类名称的String

thumbnail属性是一个表示可用作分类表示的缩略图的远程路径的String。如果需要,请使用此thumbnail属性创建一个URL,然后请求下载图像文件以显示它。

3) 列出一个分类中的电影

您可以使用特定PDCategory对象的movies(page:session:completionQueue:completion:)函数访问一个包含PDMovie对象的数组

horrorCategory.movies(page: 1, session: URLSession.shared, completionQueue: OperationQueue.main, completion: { (movies, error) in
  if let movies = movies {
    // Display list of movies to the user
  }
})

注意!将会发起请求,并在后台队列中执行completion闭包。您可以通过为completionQueue参数传递一个OperationQueue对象来指定您希望completion闭包在哪个队列中执行。

PDMovie对象是一个非常简单的数据结构,包括titledescriptionratingthumbnailURLwatchURL属性。

  • title是一个表示电影标题的String
  • description是一个表示电影描述的String
  • rating是一个表示电影评价等级的Double,介于0.0和5.0之间。
  • thumbnailURL是在其中可以找到电影缩略图的远程URL
  • watchURL可用于在h.264格式中播放电影的URL。

4) 获取电影的元数据

每个PDMovie都与一个相关的PDMovieMetaData对象相关联,该对象提供了一组可选属性,进一步描述电影。

要获取特定电影的PDMovieMetaData对象,请使用任何PDMovie对象的metaData(session:completionQueue:completion:)方法。

nightOfTheLivingDead.metaData(session: URLSession.shared, completionQueue: OperationQueue.main, completion: { (metaData, error) in
  if let metaData = metaData {
      // Show metadata to the user
  }
})

PDMovieMetaData是一个简单的数据结构,由descriptioncreditsdirectorNamerunTimethumbnailURL属性组成。

  • description属性是一个表示电影描述的字符串。
  • credits属性是一个可选的字符串(String?),表示电影的信用。
  • directorName是一个可选的字符串(String?),表示电影的导演。
  • runTime是一个可选的字符串(String?),表示电影的时长。
  • thumbnailURL是一个远程的URL(URL),可以在该URL下找到电影的缩略图。

5) 获取 PDLibrary

PDLibrary类提供了一种方便的方式来访问电影集和类别。该对象对于创建主屏幕、发现电影非常有用。

要获取对PDLibrary对象的访问权限,请使用类方法library(session:completionQueue:completion:)

PDLibrary.library(session: URLSession.shared, completionQueue: OperationQueue.main) { library, error in if let library = library { // 显示电影和类别 } }

PDLibrary对象是另一个简单的数据结构,由categoriesfeaturedrecentlyAddedmostWatchedtopRated属性组成。

  • categories属性是一个可用的PDCategory对象数组。
  • featured属性是目前特惠的5部电影集。
  • recentlyAdded数组是最近添加的50部PD电影的集合。
  • mostWatched数组是根据下载次数进行排序的50部电影集合。
  • topRated数组是最受好评的50部电影集合。

问题和请求

如果您遇到任何错误,或者希望看到特定功能的支持,请提交GitHub问题,我会尽快回复您。