功能特性 • 安装方式 • 使用方法 • 国际化翻译 • 许可协议
GBHFacebookImagePicker 是 Facebook 的 Swift 编写的相册照片选择器,旨在提供一个简单的方法来选择照片到 Facebook 账户。选择器提供了一个类似于原生 iOS 相册的简单界面。这个选择器负责所有必要的身份验证(从网络或使用原生的 Facebook 应用程序)。如果在登录时无法接受照片的权限,选择器会提示请求其他权限。
截图/演示
功能特性
- 使用 Facebook SDK 登录并显示用户的相册或标记的相片
- 显示每个相册的图片
- 处理拒绝 Facebook 照片权限
- 在一个相册中实现多选
- 全选
示例
在您的终端中
pod try GBHFacebookImagePicker
或者手动运行示例项目,首先克隆仓库,然后从Example目录运行 pod install
。
别忘了在plist文件中替换当前Facebook应用的ID为你的ID(打开方式 > 源代码)。像这样:
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleTypeRole</key>
<string>Editor</string>
<key>CFBundleURLSchemes</key>
<array>
<string>fb<YOUR_FACEBOOK_APP_ID></string>
</array>
</dict>
</array>
<key>FacebookAppID</key>
<string><YOUR_FACEBOOK_APP_ID></string>
以防万一,对于公开应用(可在AppStore中使用),您需要将您的Facebook应用发送到审核,以便获得用户的照片权限。
用法
-
您需要正确设置应用程序以与Facebook一起使用: https://developers.facebook.com/docs/ios/getting-started 和 https://developers.facebook.com/docs/ios/ios9
-
导入库
import GBHFacebookImagePicker
- 然后,实现
GBHFacebookImagePickerDelegate
协议
// MARK: - GBHFacebookImagePicker Protocol
func facebookImagePicker(imagePicker: UIViewController,
successImageModels: [GBHFacebookImage],
errorImageModels: [GBHFacebookImage],
errors: [Error?]) {
// Append selected image(s)
// Do what you want with selected image
self.imageModels.append(contentsOf: successImageModels)
}
func facebookImagePicker(imagePicker: UIViewController, didFailWithError error: Error?) {
print("Cancelled Facebook Album picker with error")
print(error.debugDescription)
}
// Optional
func facebookImagePicker(didCancelled imagePicker: UIViewController) {
print("Cancelled Facebook Album picker")
}
// Optional
func facebookImagePickerDismissed() {
print("Picker dismissed")
}
imageModel包含
public class FacebookImage {
public var image: UIImage? // The image, not nil only if image is selected
public var normalSizeUrl: String? // Normal size picture url
public var fullSizeUrl: String? // Full size source picture url
public var imageId: String? // Picture id
}
- 显示选择器
let picker = FacebookImagePicker()
picker.presentFacebookAlbumImagePicker(from: self, delegate: self)
自定义
您可以应用一些自定义设置。为此,你可以使用 FacebookPickerConfig 结构。
其他信息
- 关于标记的照片:标记的照片将显示在一个名为“照片中的你”的相册中(默认隐藏,见自定义部分显示),您可以在设置中更改此默认名称。标记相册的封面是Facebook账户的头像,这些头像是通过图形API的特殊调用检索到的。
翻译
目前FacebookImagePicker是用英语编写的。如果您需要对权限弹出窗口(或任何其他内容)进行翻译,只需在您的本地化文件中添加此行即可
"Pictures" = "<your_translation>";
"Oups" = "<your_translation>";
"You need to allow photo's permission." = "<your_translation>";
"Allow" = "<your_translation>";
"Close" = "<your_translation>";
"Album(s)" = "<your_translation>";
"Photos of You" = "<your_translation>";
""No picture(s) in this album." = "<your_translation>";"
要求
- Xcode 11.4
- 支持iOS 9.0及以上版本的目标部署
- FBSDKCoreKit, FBSDKLoginKit (v5.0需要>= 7.0)
- Facebook应用,请参阅使用说明以获取解释
- Swift 3, 4, 4.2或5.1项目
安装
FacebookImagePicker可以通过CocoaPods获取。要安装它,只需在Podfile中添加以下行
pod "GBHFacebookImagePicker"
pod "GBHFacebookImagePicker", '~> 2.4' # For swift 4.0
pod "GBHFacebookImagePicker", '~> 1.3.1' # For Swift 3.1
通讯
- 如果您需要帮助,打开一个问题。
- 如果您发现了错误,打开一个问题。
- 如果您有
功能需求,打开一个问题。 - 如果您
希望做出贡献,提交一个pull request并阅读贡献文件。
作者
弗洛里安·加巴赫,[email protected]
许可
FacebookImagePicker在MIT许可下可用。
如果您的应用程序使用此选择器,请考虑在Credits/About部分添加许可证。您可以使用此库来完成此操作。