macOS اجازتیں (TCC)¶
macOS کی اجازتیں نازک ہوتی ہیں۔ TCC اجازت کی منظوری کو ایپ کے کوڈ سائنچر، بنڈل آئیڈینٹیفائر، اور ڈسک پر موجود پاتھ کے ساتھ منسلک کرتا ہے۔ اگر ان میں سے کوئی بھی بدل جائے تو macOS ایپ کو نیا سمجھتا ہے اور پرامپٹس کو گرا سکتا ہے یا چھپا سکتا ہے۔
مستحکم اجازتوں کے لیے ضروریات¶
- ایک ہی راستہ: ایپ کو ایک مقررہ مقام سے چلائیں (OpenClaw کے لیے،
dist/OpenClaw.app)۔ - ایک ہی بنڈل شناخت کنندہ: بنڈل آئی ڈی تبدیل کرنے سے اجازت کی نئی شناخت بن جاتی ہے۔
- سائن شدہ ایپ: بغیر سائن یا ad-hoc سائن شدہ بلڈز میں اجازتیں برقرار نہیں رہتیں۔
- یکساں سائنچر: حقیقی Apple Development یا Developer ID سرٹیفکیٹ استعمال کریں تاکہ ہر ری بلڈ میں سائنچر مستحکم رہے۔
Ad-hoc سائنچرز ہر بلڈ پر ایک نئی شناخت بناتے ہیں۔ macOS پچھلی منظوریوں کو بھول جائے گا، اور پرامپٹس اس وقت تک مکمل طور پر غائب ہو سکتے ہیں جب تک کہ پرانی انٹریز صاف نہ کی جائیں۔
جب پرامپٹس غائب ہو جائیں تو بحالی کی چیک لسٹ¶
- ایپ بند کریں۔
- System Settings -> Privacy & Security میں ایپ کی اندراج کو ہٹا دیں۔
- اسی راستے سے ایپ دوبارہ لانچ کریں اور اجازتیں دوبارہ منظور کریں۔
- اگر پھر بھی پرامپٹ ظاہر نہ ہو تو
tccutilکے ذریعے TCC اندراجات ری سیٹ کریں اور دوبارہ کوشش کریں۔ - بعض اجازتیں صرف مکمل macOS ری اسٹارٹ کے بعد ہی دوبارہ ظاہر ہوتی ہیں۔
ری سیٹ کی مثالیں (ضرورت کے مطابق بنڈل آئی ڈی تبدیل کریں):
sudo tccutil reset Accessibility bot.molt.mac
sudo tccutil reset ScreenCapture bot.molt.mac
sudo tccutil reset AppleEvents
فائلز اور فولڈرز کی اجازتیں (Desktop/Documents/Downloads)¶
macOS ٹرمینل/بیک گراؤنڈ پروسیسز کے لیے Desktop، Documents، اور Downloads تک رسائی بھی محدود کر سکتا ہے۔ اگر فائل ریڈز یا ڈائریکٹری لسٹنگ ہینگ ہو جائیں تو اسی پروسیس کانٹیکسٹ کو رسائی دیں جو فائل آپریشنز انجام دیتا ہے (مثلاً Terminal/iTerm، LaunchAgent کے ذریعے چلائی گئی ایپ، یا SSH پروسیس)۔
حلِ عارضی: اگر آپ فی فولڈر اجازتوں سے بچنا چاہتے ہیں تو فائلز کو OpenClaw ورک اسپیس (~/.openclaw/workspace) میں منتقل کر دیں۔
اگر آپ اجازتوں کی جانچ کر رہے ہیں تو ہمیشہ حقیقی سرٹیفکیٹ کے ساتھ سائن کریں۔ Ad-hoc builds are only acceptable for quick local runs where permissions do not matter.