Evet, ikili dosyayı değiştirebilir veya hatta Info.plist dosyasını değiştirebilirsiniz, ancak ikili dosyayı değiştirmek gibi, uygulama her güncellendiğinde bunu tekrar yapmanız gerekecektir. Uygulamayı, güncellendiğinde üzerine yazılmayacak şekilde değiştirmeden yapmanın bir yolu yoktur.
Bir Launch Agent ile otomatik olarak değişiklik yapabilirsiniz.
Aşağıdaki kaydet ~/Library/LaunchAgents
olarak com.yourname.youragent.plist
, daha sonra çalıştırın 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>
Yukarıdaki komut dosyası WatchPaths
tüm değişiklikleri izleyecektir (bu durumda, bir uygulama için ikili dosyayı izler) ve cp
ikili dosyalarınızı / Applications içindeki uygulamaya kopyalamak için çalışır .
/Applications
değiştiğinde komut dosyamı otomatik olarak çalıştırmanın bir yolu var mı ? Ayrıca, herhangi bir uygulamanın kendisini değiştirmesini yasaklamak.