Implementación de código abierto del marco Combine de Apple para el procesamiento de valores a lo largo del tiempo.
El objetivo principal de este proyecto es proporcionar una implementación compatible, confiable y eficiente que se pueda utilizar en los sistemas operativos de Apple antes de MacOS 10.15 e iOS 13, así como Linux, Windows y WebAssembly.
| Estado de CI |
|---|
OpenCombine contiene tres objetivos públicos: OpenCombine , OpenCombineFoundation y OpenCombineDispatch (el cuarto, COpenCombineHelpers , se considera privado. No lo importe en sus proyectos).
Opencombina en sí no tiene ninguna dependencia. Ni siquiera la base o el despacho. Si desea usar OpenCombine con Dispatch (por ejemplo, para usar DispatchQueue como Scheduler para operadores como debounce , receive(on:) etc.), deberá importar OpenCombine y OpenCombineDispatch . Lo mismo se aplica a la base: si desea usar, por ejemplo, NotificationCenter o URLSession editores, también deberá importar OpenCombineFoundation .
Si desarrolla código para múltiples plataformas, puede encontrar más conveniente importar el módulo OpenCombineShim . Reexporta condicionalmente se combina en las plataformas Apple (si está disponible) y todos los módulos de opencombina en otras plataformas. Puede importar OpenCombineShim solo cuando se usa SwiftPM. Actualmente no está disponible para Cocoapods.
Para agregar OpenCombine a su paquete SWIFTPM, agregue el paquete OpenCombine a la lista de dependencias de paquete y destino en su archivo Package.swift . OpenCombineDispatch y los productos OpenCombineFoundation actualmente no son compatibles con WebAssembly. Si su proyecto se dirige a WebAssembly exclusivamente, debe omitirlos de la lista de sus dependencias. Si se dirige a múltiples plataformas, incluida la base web, depende de ellas solo de las plataformas que no sean de Webassembly con dependencias de objetivos condicionales.
dependencies: [
. package ( url : " https://github.com/OpenCombine/OpenCombine.git " , from : " 0.14.0 " )
] ,
targets: [
. target (
name : " MyAwesomePackage " ,
dependencies : [
" OpenCombine " ,
. product ( name : " OpenCombineFoundation " , package : " OpenCombine " ) ,
. product ( name : " OpenCombineDispatch " , package : " OpenCombine " )
]
) ,
] OpenCombine también se puede agregar como una dependencia SWIFTPM directamente en su proyecto Xcode (requiere Xcode 11 hacia arriba) .
Para hacerlo, abra Xcode, use archivo → paquetes rápidos → Agregar dependencia del paquete ... , ingrese la URL del repositorio, elija la última versión disponible y active las casillas de verificación:

Para agregar OpenCombine a un proyecto usando Cocoapods, agregue OpenCombine y OpenCombineDispatch a la lista de dependencias objetivo en su Podfile .
pod 'OpenCombine' , '~> 0.14.0'
pod 'OpenCombineDispatch' , '~> 0.14.0'
pod 'OpenCombineFoundation' , '~> 0.14.0' El archivo opencombine_lldb.py define algunos resúmenes de tipo lldb para una depuración más fácil. Estos resúmenes de tipo mejoran la forma en que lldb y Xcode muestran algunos valores de opencombina.
Para usar opencombine_lldb.py , descubra su ruta completa. Digamos que la ruta completa es ~/projects/OpenCombine/opencombine_lldb.py . Luego, la siguiente declaración a su archivo ~/.lldbinit :
command script import ~/projects/OpenCombine/opencombine_lldb.py
Actualmente, opencombine_lldb.py define resúmenes de tipo para estos tipos:
Subscribers.DemandVer contribuyente. MD.