Documentation Index
Fetch the complete documentation index at: https://docs.openclaw.ai/llms.txt
Use this file to discover all available pages before exploring further.
mac imzalama (hata ayıklama derlemeleri)
Bu uygulama genelliklescripts/package-mac-app.sh üzerinden derlenir; bu betik artık:
- kararlı bir hata ayıklama paket tanımlayıcısı ayarlar:
ai.openclaw.mac.debug - Info.plist dosyasını bu paket kimliğiyle yazar (
BUNDLE_ID=...ile geçersiz kılın) - macOS’in her yeniden derlemeyi aynı imzalı paket olarak ele alması ve TCC izinlerini (bildirimler, erişilebilirlik, ekran kaydı, mikrofon, konuşma) koruması için ana ikiliyi ve uygulama paketini imzalamak üzere
scripts/codesign-mac-app.shdosyasını çağırır. Kararlı izinler için gerçek bir imzalama kimliği kullanın; ad-hoc isteğe bağlıdır ve kırılgandır (bkz. macOS izinleri). - varsayılan olarak
CODESIGN_TIMESTAMP=autokullanır; Developer ID imzaları için güvenilir zaman damgalarını etkinleştirir. Zaman damgalamayı atlamak içinCODESIGN_TIMESTAMP=offayarlayın (çevrimdışı hata ayıklama derlemeleri). - derleme üst verilerini Info.plist içine enjekte eder:
OpenClawBuildTimestamp(UTC) veOpenClawGitCommit(kısa hash); böylece Hakkında bölmesi derlemeyi, git’i ve hata ayıklama/sürüm kanalını gösterebilir. - Paketleme varsayılan olarak Node 24 kullanır: betik TS derlemelerini ve Control UI derlemesini çalıştırır. Şu anda
22.16+olan Node 22 LTS, uyumluluk için desteklenmeye devam eder. - ortamdan
SIGN_IDENTITYdeğerini okur. Her zaman sertifikanızla imzalamak için kabuk rc dosyanızaexport SIGN_IDENTITY="Apple Development: Your Name (TEAMID)"(veya Developer ID Application sertifikanızı) ekleyin. Ad-hoc imzalama,ALLOW_ADHOC_SIGNING=1veyaSIGN_IDENTITY="-"üzerinden açıkça etkinleştirme gerektirir (izin testi için önerilmez). - imzalamadan sonra bir Team ID denetimi çalıştırır ve uygulama paketinin içindeki herhangi bir Mach-O farklı bir Team ID ile imzalanmışsa başarısız olur. Atlamak için
SKIP_TEAM_ID_CHECK=1ayarlayın.
Kullanım
Ad-hoc İmzalama Notu
SIGN_IDENTITY="-" (ad-hoc) ile imzalama yapıldığında, betik Hardened Runtime (--options runtime) özelliğini otomatik olarak devre dışı bırakır. Bu, uygulama aynı Team ID’yi paylaşmayan gömülü framework’leri (Sparkle gibi) yüklemeye çalıştığında çökmeleri önlemek için gereklidir. Ad-hoc imzalar ayrıca TCC izin kalıcılığını bozar; kurtarma adımları için macOS izinleri sayfasına bakın.
Hakkında için derleme üst verileri
package-mac-app.sh paketi şunlarla damgalar:
OpenClawBuildTimestamp: paketleme anında ISO8601 UTCOpenClawGitCommit: kısa git hash’i (veya kullanılamıyorsaunknown)
#if DEBUG aracılığıyla) gösterir. Kod değişikliklerinden sonra bu değerleri yenilemek için paketleyiciyi çalıştırın.
Neden
TCC izinleri paket tanımlayıcısına ve kod imzasına bağlıdır. Değişen UUID’lere sahip imzasız hata ayıklama derlemeleri, macOS’in her yeniden derlemeden sonra verilen izinleri unutmasına neden oluyordu. İkilileri (varsayılan olarak ad-hoc) imzalamak ve sabit bir paket kimliği/yolu (dist/OpenClaw.app) korumak, VibeTunnel yaklaşımıyla uyumlu şekilde derlemeler arasında izinleri korur.