RxContacts 1.0.2

RxContacts 1.0.2

Satish BabariyaRxSwift Community维护。



 
依赖项
RxSwift~> 4
RxCocoa~> 4
 

  • 作者
  • Satish Babariya

RxContacts

RxContacts是RxSwiftContacts Framework的包装。

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

系统需求

  • iOS 9.0+ / Mac OS X 10.12+ / watchOS 3.0+
  • Xcode 9.0+

安装

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包管理器

要将RxContacts作为Swift包管理器包使用,请只需在您的Package.swift文件中添加以下内容。

import PackageDescription

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

手动操作

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

嵌入二进制文件

  • https://github.com/satishbabariya/RxContacts/releases下载最新版本。
  • 接下来,在项目导航器(蓝色项目图标)中选择您的应用程序项目,导航到目标配置窗口,然后在侧边栏的“Targets”标题下选择应用程序目标。
  • 在那个窗口的选项卡栏中,打开“通用”面板。
  • 在“嵌入二进制文件”部分下点击+按钮。
  • 添加下载的RxContacts.framework
  • 就是这样!

开始使用

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
            }
        }
        

通知

//Posted notifications when changes occur in another CNContactStore.

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

方法

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)