تطبيق مفتوح المصدر لإطار عمل Apple لمعالجة القيم مع مرور الوقت.
الهدف الرئيسي من هذا المشروع هو توفير تطبيق متوافق وموثوق وفعال يمكن استخدامه على أنظمة تشغيل Apple قبل MacOS 10.15 و iOS 13 ، وكذلك Linux و Windows و Webassembly.
| حالة CI |
|---|
يحتوي OpenCombine على ثلاثة أهداف عامة: OpenCombine ، OpenCombineFoundation و OpenCombineDispatch (الرابع ، COpenCombineHelpers ، يعتبر خاصًا. لا تستوردها في مشاريعك).
Opencombine نفسه ليس لديه أي تبعيات. ولا حتى الأساس أو الإرسال. إذا كنت ترغب في استخدام OpenCombine مع الإرسال (على سبيل المثال لاستخدام DispatchQueue Scheduler للمشغلين مثل debounce ، receive(on:) إلخ) ، ستحتاج إلى استيراد كل من OpenCombine و OpenCombineDispatch . وينطبق الشيء نفسه على الأساس: إذا كنت ترغب في استخدام ، على سبيل المثال ، ناشري NotificationCenter أو URLSession ، فستحتاج أيضًا إلى استيراد OpenCombineFoundation .
إذا قمت بتطوير رمز للمنصات المتعددة ، فقد تجد أنه أكثر ملاءمة لاستيراد وحدة OpenCombineShim بدلاً من ذلك. إنها تعيد تصديرها بشكل مشروط على منصات Apple (إن وجدت) ، وجميع وحدات OpenCombine على منصات أخرى. يمكنك استيراد OpenCombineShim فقط عند استخدام SwiftPM. إنه غير متوفر حاليًا للكاكوبودز.
لإضافة OpenCombine إلى حزمة SwiftPM الخاصة بك ، أضف حزمة OpenCombine إلى قائمة التبعيات والهدف المستهدف في ملف Package.swift الخاص بك. لا يتم دعم منتجات OpenCombineDispatch و OpenCombineFoundation حاليًا على Webassembly. إذا كان مشروعك يستهدف webassembly على وجه الحصر ، فيجب عليك حذفها من قائمة تبعياتك. إذا كان يستهدف منصات متعددة بما في ذلك webassembly ، فاعتمد عليها فقط على منصات غير ويب مع تبعيات مستهدفة مشروطة.
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 كاعتماد SwiftPM مباشرة في مشروع Xcode الخاص بك (يتطلب Xcode 11 أعلى) .
للقيام بذلك ، افتح Xcode ، استخدم ملف → حزم Swift → إضافة تبعية الحزمة ... ، أدخل عنوان URL للمستودع ، واختر أحدث إصدار متاح ، وقم بتنشيط مربعات الاختيار:

لإضافة OpenCombine إلى مشروع باستخدام Cocoapods ، أضف OpenCombine و OpenCombineDispatch إلى قائمة التبعيات المستهدفة في Podfile .
pod 'OpenCombine' , '~> 0.14.0'
pod 'OpenCombineDispatch' , '~> 0.14.0'
pod 'OpenCombineFoundation' , '~> 0.14.0' يحدد الملف opencombine_lldb.py بعض ملخصات نوع lldb لتسهيل تصحيح الأخطاء. تعمل ملخصات النوع هذه على تحسين طريقة عرض lldb و XCODE بعض قيم OpenCombine.
لاستخدام opencombine_lldb.py ، اكتشف مساره الكامل. دعنا نقول أن المسار الكامل هو ~/projects/OpenCombine/opencombine_lldb.py . ثم البيان التالي إلى ملف ~/.lldbinit الخاص بك:
command script import ~/projects/OpenCombine/opencombine_lldb.py
حاليًا ، يحدد opencombine_lldb.py ملخصات النوع لهذه الأنواع:
Subscribers.Demandانظر المساهمة.