আমি কিছুটা আপেলস্ক্রিপ্ট পেয়েছি যা আমি লিখেছিলাম যে আমার জন্য স্ক্রিনে কয়েকটি উইন্ডো বোতাম টিপছে। ব্যবহারের সময়, আমি একটি পপ-আপ পেয়ে যাচ্ছি যে আমাকে 'সুরক্ষা এবং গোপনীয়তা -> অ্যাক্সেসযোগ্যতা' এ অনুমতি দেওয়া দরকার। অনুমতিগুলি সক্ষম করার জন্য চেকবক্সটি কাজ করে না; এটি ধূসর হয় না, এটি গ্রহণ করে না।
আমার উপলব্ধি হ'ল টিসিসি.ডিবি হ'ল অ্যাক্সেসিবিলিটি অনুমতিগুলির অন্তর্নিহিত বাস্তবায়ন। আমি অ্যাপ্লিকেশনটি চালু করার চেষ্টা করার সাথে সাথেই 'অ্যাক্সেস' টেবিলটি দেখতে এমন দেখাচ্ছে:
$ sudo sqlite3 "/Library/Application Support/com.apple.TCC/TCC.db" 'select * from access'
kTCCServiceAccessibility|com.company.applet|0|0|1||
অনুমতিগুলি সক্ষম করার জন্য আমি চেকবক্সটিতে ক্লিক করার চেষ্টা করার পরে টেবিলটি দেখতে কেমন দেখাচ্ছে তা এখানে:
$ sudo sqlite3 "/Library/Application Support/com.apple.TCC/TCC.db" 'select * from access'
kTCCServiceAccessibility|com.company.applet|0|0|1||
kTCCServiceAccessibility|/Users/luser/Applications/applet.app|1|1|1||
এ থেকে, আমার থিয়োরিটি হ'ল অ্যাক্সেসিবিলিটি অনুমতি মেকানিজম অ্যাপটিকে দুটি পৃথক নাম হিসাবে দেখছে - com.company.applet বনাম ইনস্টলনের পথ। তবে সমস্যা সমাধানের জন্য এগিয়ে যাওয়ার জন্য ম্যাকোস সম্পর্কে আমি যথেষ্ট জানি না। কি ঘটছে তা বুঝতে কেউ আমাকে সহায়তা করতে পারে? কীভাবে এই কাজটি করা যায় সে সম্পর্কে কারও ধারণা রয়েছে?
ধন্যবাদ!
অতিরিক্ত তথ্য:
আমার বিল্ড প্রক্রিয়াটি আমার অ্যাপ্লিক্রিপ্টকে ওসাকম্পাইলে খাওয়ানো হয়, যা ~ / অ্যাপ্লিকেশনস / অ্যাপলেট। অ্যাপ্লিকেশন বান্ডেল তৈরি করে। আমি তারপরে ম্যানুয়ালি CFBundleIdentifier যুক্ত করব /usr/libexec/PlistBuddy -c 'Add :CFBundleIdentifier string "com.company.applet"' ~/Applications/applet.app/Contents/Info.plist
। যদি আমি প্লিস্ট সিএফবান্ডিলআইডিটিফায়ার আপডেটটি ছেড়ে চলে যাই তবে অ্যাপ্লিকেশনটি এখনও অ্যাক্সেসযোগ্যতা পরীক্ষাতে ব্যর্থ।
আমি স্ক্রিপ্ট এডিটরে বান্ডিলটি তৈরি করতে পারি এবং সবকিছু কাজ করে। যাইহোক, এটি একটি দীর্ঘমেয়াদী দীর্ঘায়িত সমাধান নয়; যেহেতু আমি সবকিছু সংস্করণ নিয়ন্ত্রণে রাখতে চাই। স্ক্রিপ্ট সম্পাদক থেকে উত্পন্ন শিল্পকর্মগুলি বাইনারি এবং এইভাবে গিটের জন্য অনুপযুক্ত।
শেষ অবধি, ম্যাকোসের আগের সংস্করণগুলির মতো মনে হচ্ছে, আমি সরাসরি টিসিসি.ডিবি সংশোধন করতে পারতাম, তবে এখন আমার সমস্ত লেখাগুলি ব্যর্থ হয়েছে - অন্য কোথাও, আমি এসআইপি-র সাথে এটি দায়ী দেখেছি। আমি এসআইপি অক্ষম করতে চাই না।
defaults read
ডোমেন (যেমন com.company.applet) দ্বারা অ্যাপ্লিকেশন খুঁজে পেতে ব্যর্থ - এবং বাহ, মন্তব্যগুলি সীমাবদ্ধ; এইভাবে অনেক সম্পাদনা।
defaults
লিখতে ব্যবহার করেন তবে এটি কি পার্থক্য করেCFBundleIdentifier
? এছাড়াও, ঠিক যেমন একটি পরীক্ষা হিসাবে, অ্যাপটি তৈরির পরে আপনি যেভাবে পছন্দ করেন ঠিক সেভাবে স্ক্রিপ্ট সম্পাদক এ এটি খুললে সংকলনটি চাপুন এবং তারপরে সেভ করুন এবং এটি সিস্টেম পছন্দসমূহ> সুরক্ষা ও গোপনীয়তা> গোপনীয়তা> অ্যাক্সেসিবিলিটিতে যুক্ত করার আগে এটি বন্ধ করুন, তাহলে কি এটি ইস্যু না করে পরীক্ষা করার অনুমতি দেয়?