Estaba ejecutando algunas aplicaciones beta que intentan insertarse como elementos de inicio de sesión y ahora necesitan limpiar el desastre que dejaron.
Estoy especulando que algo salió mal al tratar de seguir this y this para agregar 'launch at login' Funcionalidad para mi aplicación.
Ahora tengo muchos elementos desconocidos allí que no son removibles. Pude recuperar los 20 elementos solo ejecutando este código:
let loginItems: NSArray = LSSharedFileListCopySnapshot(loginItemsRef, nil).takeRetainedValue() as NSArray
- Sin embargo, el método LSSharedFileListItemRemove está en desuso y no puedo eliminarlos mediante programación en High Sierra o posterior.
- Además, ahora cuando hago clic en ocultar en cualquiera de los elementos de inicio de sesión desconocidos, obtengo otra entrada desconocida debajo duplicada. Solo tuve uno, pero al hacer clic muchas veces (no creo que un error de este tipo pueda estar en OS X) en ocultar / mostrar tengo 20 de ellos. Esto significa que los intentos de limpiar un elemento aumentan más de la interfaz de usuario.
Comprobado sin suerte:
/Library/LaunchDaemons/
/Library/LaunchAgents/
~/Library/LaunchAgents
/Library/StartupItems
...loginitems.plist
...loginwindow.plist
¿Hay alguna forma de destruir todos los elementos de esta lista para tener un inicio limpio?