Записи LSHandlers в файле com.apple.LaunchServices.plist автоматически удаляются, если я удаляю и добавляю те же записи, используя plist buddy - PullRequest
0 голосов
/ 03 июля 2019

В моем приложении во время удаления я удаляю добавленные записи LSHandlers из com.apple.LaunchServices.plist, а во время установки я добавляю записи LSHandlers в com.apple.LaunchServices.plist.Поэтому вскоре после удаления, а затем немедленной установки эти записи не сохраняются, они сразу добавляются и удаляются

Я добавляю с помощью кода ниже

/usr/libexec/PlistBuddy -c "add:LSHandlers:0:LSHandlerPreferredVersions dict"  plistfile
/usr/libexec/PlistBuddy -c "add:LSHandlers:0:LSHandlerPreferredVersions:LSHandlerRoleAll string -" plistfile
/usr/libexec/PlistBuddy -c "add:LSHandlers:0:LSHandlerRoleAll string com.test.api" plistfile
/usr/libexec/PlistBuddy -c "add:LSHandlers:0:LSHandlerURLScheme string test" plistfile
/usr/libexec/PlistBuddy -c save plistfile

И удаляю их с помощью команды ниже

/usr/libexec/PlistBuddy -c "Delete :LSHandlers:0" plistfile
/usr/libexec/PlistBuddy -c save plistfile

Есть ли способ сохранить их синхронизацию с базой данных сразу после удаления, а затем добавить

...