RxContacts is a RxSwift wrapper around the Contacts Framework.

Requirements
- iOS 9.0+ / Mac OS X 10.12+ / watchOS 3.0+
- Xcode 9.0+
Installation
CocoaPods
CocoaPods is a dependency manager for Cocoa projects. You can install it with the following command:
$ gem install cocoapods
To integrate RxContacts into your Xcode project using CocoaPods, specify it in your Podfile
:
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '8.0'
use_frameworks!
pod 'RxContacts'
Then, run the following command:
$ pod install
Carthage
Carthage is a decentralized dependency manager that automates the process of adding frameworks to your Cocoa application.
You can install Carthage with Homebrew using the following command:
$ brew update
$ brew install carthage
To integrate RxContacts into your Xcode project using Carthage, specify it in your Cartfile
:
github "SwiftyContacts/RxContacts" ~> 0.1
Swift Package Manager
To use RxContacts as a Swift Package Manager package just add the following in your Package.swift file.
import PackageDescription
let package = Package(
name: "HelloContacts",
dependencies: [
.Package(url: "https://github.com/satishbabariya/RxContacts", "0.1")
]
)
Manually
If you prefer not to use either of the aforementioned dependency managers, you can integrate RxContacts into your project manually.
Embeded Binaries
- Download the latest release from https://github.com/satishbabariya/RxContacts/releases
- Next, select your application project in the Project Navigator (blue project icon) to navigate to the target configuration window and select the application target under the “Targets” heading in the sidebar.
- In the tab bar at the top of that window, open the “General” panel.
- Click on the
+
button under the “Embedded Binaries” section.
- Add the downloaded
RxContacts.framework
.
- And that’s it!
Get started
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)
RxContacts
RxContacts is a RxSwift wrapper around the Contacts Framework.
Requirements
Installation
CocoaPods
CocoaPods is a dependency manager for Cocoa projects. You can install it with the following command:
To integrate RxContacts into your Xcode project using CocoaPods, specify it in your
Podfile
:Then, run the following command:
Carthage
Carthage is a decentralized dependency manager that automates the process of adding frameworks to your Cocoa application.
You can install Carthage with Homebrew using the following command:
To integrate RxContacts into your Xcode project using Carthage, specify it in your
Cartfile
:Swift Package Manager
To use RxContacts as a Swift Package Manager package just add the following in your Package.swift file.
Manually
If you prefer not to use either of the aforementioned dependency managers, you can integrate RxContacts into your project manually.
Embeded Binaries
+
button under the “Embedded Binaries” section.RxContacts.framework
.Get started
Notifications
Methods