হ্যাঁ, আপনি বাইনারি পরিবর্তন করতে পারেন, বা এমনকি তথ্য.প্লেস্ট পরিবর্তন করতে পারেন, তবে আপনার তৈরি বাইনারি পরিবর্তনের মতো অ্যাপ্লিকেশনটি আপডেট হওয়ার সাথে সাথে আবার এটি করা দরকার। অ্যাপটি এমনভাবে পরিবর্তন না করে করার কোনও উপায় নেই যা আপডেট হওয়ার পরে ওভাররাইট হবে না।
লঞ্চ এজেন্টের সাহায্যে আপনি স্বয়ংক্রিয়ভাবে আপনার পরিবর্তনগুলি করতে পারেন।
নিম্নলিখিত ~/Library/LaunchAgents
হিসাবে সংরক্ষণ করুন com.yourname.youragent.plist
, তারপর চালান launchctl load ~/Library/LaunchAgents/com.yourname.youragent.plist
।
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.yourname.youragent</string>
<key>OnDemand</key>
<true/>
<key>Program</key>
<string>cp</string>
<key>ProgramArguments</key>
<array>
<string>/Users/grgarside/test/MyApp</string>
<string>/Applications/MyApp.app/Contents/MacOS/</string>
</array>
<key>WatchPaths</key>
<array>
<string>/Applications/MyApp.app/Contents/MacOS/MyApp</string>
</array>
</dict>
</plist>
উপরের স্ক্রিপ্টটি WatchPaths
কোনও পরিবর্তনের জন্য নজর রাখবে (এই ক্ষেত্রে এটি কোনও অ্যাপ্লিকেশনের জন্য বাইনারি দেখছে) এবং অ্যাপ্লিকেশনগুলিতে cp
আপনার বাইনারি অনুলিপি করতে চালিত হবে run
/Applications
পরিবর্তন হলে স্বয়ংক্রিয়ভাবে আমার স্ক্রিপ্ট চালানোর কোনও উপায় আছে ? এবং কোনও অ্যাপ্লিকেশনকে নিজের মধ্যে পরিবর্তন করতে নিষেধ করতে হবে।