RxContacts 是一个基于 RxSwift 的 Contacts Framework 封装库。
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 是一个去中心化的依赖管理器,它可以自动化将框架添加到您的 Cocoa 应用程序的过程。
您可以使用 Homebrew 安装 Carthage,使用以下命令
$ brew update
$ brew install carthage
要使用 Carthage 将 RxContacts 集成到您的 Xcode 项目中,请在您的 Cartfile
中指定它
github "SwiftyContacts/RxContacts" ~> 0.1
要将 RxContacts 用作 Swift Package Manager 包,只需在您的 Package.swift 文件中添加以下内容。
import PackageDescription
let package = Package(
name: "HelloContacts",
dependencies: [
.Package(url: "https://github.com/satishbabariya/RxContacts", "0.1")
]
)
如果您不想使用上述任何依赖管理器,您可以手动将 RxContacts 集成到您的项目中。
+
按钮。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
}
}
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)