Implémentation open source du framework combinée d'Apple pour le traitement des valeurs au fil du temps.
L'objectif principal de ce projet est de fournir une implémentation compatible, fiable et efficace qui peut être utilisée sur les systèmes d'exploitation d'Apple avant MacOS 10.15 et iOS 13, ainsi que Linux, Windows et WebAssembly.
| Statut de CI |
|---|
OpenCombine contient trois objectifs publics: OpenCombine , OpenCombineFoundation et OpenCombineDispatch (le quatrième, COpenCombineHelpers , est considéré comme privé. Ne l'importez pas dans vos projets).
OpenCombine elle-même n'a aucune dépendance. Pas même une fondation ou une dépêche. Si vous souhaitez utiliser OpenCombine avec Dispatch (par exemple pour l'utilisation DispatchQueue comme Scheduler pour les opérateurs comme debounce , receive(on:) etc.), vous devrez importer à la fois OpenCombine et OpenCombineDispatch . Il en va de même pour la fondation: si vous souhaitez utiliser, par exemple, NotificationCenter ou URLSession Publishers, vous devrez également importer OpenCombineFoundation .
Si vous développez du code pour plusieurs plates-formes, vous pouvez trouver plus pratique d'importer le module OpenCombineShim à la place. Il réexporte conditionnellement se combiner sur les plates-formes Apple (si disponible) et tous les modules d'openBombine sur d'autres plates-formes. Vous ne pouvez importer OpenCombineShim que lorsque vous utilisez SWIFTPM. Il n'est pas actuellement disponible pour les cocoapodes.
Pour ajouter OpenCombine à votre package SWIFTPM, ajoutez le package OpenCombine à la liste des dépendances du package et cible dans votre fichier Package.swift . Les produits OpenCombineDispatch et OpenCombineFoundation ne sont actuellement pas pris en charge sur WebAssembly. Si votre projet cible WebAssembly exclusivement, vous devez les omettre dans la liste de vos dépendances. S'il cible plusieurs plates-formes, y compris WebAssembly, dépendez d'eux uniquement des plates-formes non-WebSembly avec des dépendances cibles conditionnelles.
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 peut également être ajouté en tant que dépendance SWIFTPM directement dans votre projet Xcode (nécessite Xcode 11 vers le haut) .
Pour ce faire, ouvrez Xcode, utilisez Fichier → Swift Packages → Ajouter une dépendance des packages… , entrez l'URL du référentiel, choisissez la dernière version disponible et activez les cases à cocher:

Pour ajouter OpenCombine à un projet utilisant des cocoapodes, ajoutez OpenCombine et OpenCombineDispatch à la liste des dépendances cibles dans votre Podfile .
pod 'OpenCombine' , '~> 0.14.0'
pod 'OpenCombineDispatch' , '~> 0.14.0'
pod 'OpenCombineFoundation' , '~> 0.14.0' Le fichier opencombine_lldb.py définit certains résumés de type lldb pour un débogage plus facile. Ces résumés de type améliorent la façon dont lldb et XCODE affichent certaines valeurs d'openCombine.
Pour utiliser opencombine_lldb.py , déterminez son chemin complet. Disons que le chemin complet est ~/projects/OpenCombine/opencombine_lldb.py . Puis l'instruction suivante à votre fichier ~/.lldbinit :
command script import ~/projects/OpenCombine/opencombine_lldb.py
Actuellement, opencombine_lldb.py définit les résumés de type pour ces types:
Subscribers.DemandVoir contribution.md.