macOS imzolash (debug build’lar)
Ushbu ilova odatdascripts/package-mac-app.sh orqali yaratiladi, hozirda u:
- sets a stable debug bundle identifier:
ai.openclaw.mac.debug - writes the Info.plist with that bundle id (override via
BUNDLE_ID=...) - calls
scripts/codesign-mac-app.shto sign the main binary and app bundle so macOS treats each rebuild as the same signed bundle and keeps TCC permissions (notifications, accessibility, screen recording, mic, speech). Barqaror ruxsatlar uchun haqiqiy imzolash identifikatoridan foydalaning; ad-hoc opt-in orqali yoqiladi va beqaror (qarang macOS permissions). - odatiy holatda
CODESIGN_TIMESTAMP=autodan foydalanadi; u Developer ID imzolari uchun ishonchli vaqt tamgʻalarini yoqadi. Vaqt tamgʻasini oʻtkazib yuborish uchunCODESIGN_TIMESTAMP=offni o‘rnating (oflayn debug buildlar). - build metamaʼlumotlarini Info.plist ga kiritadi:
OpenClawBuildTimestamp(UTC) vaOpenClawGitCommit(qisqa xesh), shunda About oynasi build, git va debug/release kanalini ko‘rsata oladi. - Paketlash Node 22+ ni talab qiladi: skript TS buildlarini va Control UI buildini ishga tushiradi.
- muhitdan
SIGN_IDENTITYni o‘qiydi. Har doim sertifikatingiz bilan imzolash uchun shell rc faylingizgaexport SIGN_IDENTITY="Apple Development: Your Name (TEAMID)"(yoki Developer ID Application sertifikatingiz) ni qo‘shing. Ad-hoc imzolashALLOW_ADHOC_SIGNING=1yokiSIGN_IDENTITY="-"orqali aniq opt-in talab qiladi (ruxsatlarni sinash uchun tavsiya etilmaydi). - imzolashdan so‘ng Team ID auditini bajaradi va agar ilova to‘plami ichidagi biror Mach-O boshqa Team ID bilan imzolangan bo‘lsa, xatolik bilan to‘xtaydi. Chetlab o‘tish uchun
SKIP_TEAM_ID_CHECK=1ni o‘rnating.
Foydalanish
scripts/package-mac-app.sh # identifikatorni avtomatik tanlaydi; topilmasa xato beradi SIGN_IDENTITY=“Developer ID Application: Your Name” scripts/package-mac-app.sh # haqiqiy sertifikat ALLOW_ADHOC_SIGNING=1 scripts/package-mac-app.sh # ad-hoc (ruxsatlar saqlanib qolmaydi) SIGN_IDENTITY=”-” scripts/package-mac-app.sh # aniq ad-hoc (xuddi shu ogohlantirish) DISABLE_LIBRARY_VALIDATION=1 scripts/package-mac-app.sh # faqat dev uchun Sparkle Team ID mos kelmasligi bo‘yicha vaqtinchalik yechim
Ad-hoc imzolash eslatmasiSIGN_IDENTITY="-" (ad-hoc) bilan imzolaganda, skript avtomatik ravishda Hardened Runtime (--options runtime) ni o‘chiradi. Bu ilova bir xil Team ID ga ega bo‘lmagan o‘rnatilgan frameworklarni (masalan, Sparkle) yuklashga uringanda qulashlarning oldini olish uchun zarur.
Ad-hoc imzolar TCC ruxsatlarining saqlanib qolishini ham buzadi; tiklash bosqichlari uchun macOS permissions ga qarang.
About uchun build metamaʼlumotlaripackage-mac-app.shto‘plamni quyidagilar bilan tamg‘alaydi:OpenClawBuildTimestamp: paketlash paytidagi ISO8601 UTC
OpenClawGitCommit: qisqa git xeshi (mavjud bo‘lmasa unknown) About yorlig‘i ushbu kalitlarni versiya, build sanasi, git commit va debug build ekanligini (#if DEBUG orqali) ko‘rsatish uchun o‘qiydi.