توقيع mac (إصدارات تصحيح الأخطاء)
ينشئscripts/package-mac-app.sh التطبيق ويحزّمه في مسار ثابت (dist/OpenClaw.app)، ثم يستدعي scripts/codesign-mac-app.sh لتوقيعه. ترتبط أذونات TCC بمعرّف الحزمة وتوقيع الرمز؛ والحفاظ على ثبات كليهما (مع إبقاء التطبيق في مسار ثابت) عبر عمليات إعادة الإنشاء يمنع macOS من نسيان منح أذونات TCC (الإشعارات، وإمكانية الوصول، وتسجيل الشاشة، والميكروفون، والتعرّف على الكلام).
- الإعداد الافتراضي لمعرّف حزمة تصحيح الأخطاء هو
ai.openclaw.mac.debug(يمكن تجاوزه باستخدامBUNDLE_ID=...). - Node:
>=22.22.3 <23أو>=24.15.0 <25أو>=25.9.0(المستودعpackage.jsonengines). ينشئ برنامج التحزيم أيضًا واجهة التحكم (pnpm ui:build). - يتطلب هوية توقيع حقيقية افتراضيًا؛ وينهي سكربت توقيع الرمز التنفيذ بخطأ إذا لم يعثر على أي هوية ولم يكن
ALLOW_ADHOC_SIGNINGمضبوطًا. يتطلب التوقيع المخصص (SIGN_IDENTITY="-") اشتراكًا صريحًا ولا يحافظ على أذونات TCC عبر عمليات إعادة الإنشاء. راجع أذونات macOS. - يقرأ
SIGN_IDENTITYمن البيئة (مثلexport SIGN_IDENTITY="Apple Development: Your Name (TEAMID)"أو شهادة Developer ID Application). في حال عدم توفره، يختارcodesign-mac-app.shهوية تلقائيًا بالترتيب التالي: Developer ID Application، ثم Apple Distribution، ثم Apple Development، ثم أول هوية صالحة لتوقيع الرمز يعثر عليها. - يُفعّل
CODESIGN_TIMESTAMP=auto(افتراضيًا) الطوابع الزمنية الموثوقة لتوقيعات Developer ID Application فقط. اضبطon/offلفرض التفعيل أو التعطيل. - يختم Info.plist بالقيمتين
OpenClawBuildTimestamp(بتنسيق ISO8601 UTC) وOpenClawGitCommit(تجزئة قصيرة، أوunknownإذا لم تكن متاحة) حتى تتمكن علامة التبويب «حول» من عرض معلومات الإنشاء وgit وقناة تصحيح الأخطاء/الإصدار. - يجري تدقيقًا لمعرّف الفريق بعد التوقيع ويفشل إذا كان لأي ملف Mach-O داخل الحزمة معرّف فريق مختلف. اضبط
SKIP_TEAM_ID_CHECK=1للتجاوز.
الاستخدام
ملاحظة حول التوقيع المخصص
يعطّلSIGN_IDENTITY="-" وقت التشغيل المحصّن (--options runtime) لمنع الأعطال عندما يحمّل التطبيق أُطر العمل المضمّنة (مثل Sparkle) التي لا تشترك في معرّف الفريق نفسه. تؤدي التوقيعات المخصصة أيضًا إلى تعطيل استمرارية أذونات TCC؛ راجع أذونات macOS لمعرفة خطوات الاسترداد.
بيانات الإنشاء الوصفية لنافذة «حول»
تقرأ علامة التبويب «حول» القيمتينOpenClawBuildTimestamp وOpenClawGitCommit من Info.plist لعرض الإصدار وتاريخ الإنشاء والتزام git وما إذا كان الإنشاء من نوع DEBUG (عبر #if DEBUG). أعِد تشغيل برنامج التحزيم بعد تغييرات الرمز لتحديث هذه القيم.