RxContacts

RxContacts 是一个基于 RxSwiftContacts Framework 封装库。

Language: Swift 4 Version License Platform Swift Package Manager Carthage compatible

要求

安装

CocoaPods

CocoaPods 是 Cocoa 项目的依赖管理工具。您可以使用以下命令安装它

$ gem install cocoapods

要使用 CocoaPods 将 RxContacts 集成到您的 Xcode 项目中,请在您的 Podfile 中指定它

source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '8.0'
use_frameworks!

pod 'RxContacts'

然后,运行以下命令

$ pod install

Carthage

Carthage 是一个去中心化的依赖管理器,它可以自动化将框架添加到您的 Cocoa 应用程序的过程。

您可以使用 Homebrew 安装 Carthage,使用以下命令

$ brew update
$ brew install carthage

要使用 Carthage 将 RxContacts 集成到您的 Xcode 项目中,请在您的 Cartfile 中指定它

github "SwiftyContacts/RxContacts" ~> 0.1

Swift Package Manager

要将 RxContacts 用作 Swift Package Manager 包,只需在您的 Package.swift 文件中添加以下内容。

import PackageDescription

let package = Package(
    name: "HelloContacts",
    dependencies: [
        .Package(url: "https://github.com/satishbabariya/RxContacts", "0.1")
    ]
)

手动

如果您不想使用上述任何依赖管理器,您可以手动将 RxContacts 集成到您的项目中。

Embeded Binaries (嵌入式二进制文件)

开始使用

import RxContacts

store.rx.requestAccess(for: CNEntityType.contacts).subscribe { (event) in
            switch event{
            case .next(let bool):
                break
            case .error(let error):
                break
            case .completed:
                break
            }
        }
        

Notifications (通知)

//Posted notifications when changes occur in another CNContactStore.

store.rx.didChange().subscribe { (event) in
            
}

Methods (方法)

unifiedContacts(matching predicate: NSPredicate, keysToFetch keys: [CNKeyDescriptor])
unifiedContact(withIdentifier identifier: String, keysToFetch keys: [CNKeyDescriptor])
groups(matching predicate: NSPredicate?)
containers(matching predicate: NSPredicate?) 
enumerateContacts(with fetchRequest: CNContactFetchRequest) 
execute(_ saveRequest: CNSaveRequest)