Primeiro, ao usar defaults , você deve deixar o .plist do nome do arquivo. Ele sempre adiciona isso, então, se você também fornecer defaults , tentará excluir "< meu app > .plist .plist ".
Em segundo lugar, acho que quando você especifica o caminho completo para o arquivo de preferências, você ignora cfprefsd , que (entre outras coisas) armazena em cache as preferências usadas recentemente. Você deve usar apenas defaults delete <my app> ou executar killall cfprefsd antes de excluir as preferências (mas depois de sair do aplicativo).
Se o app estiver em modo seguro, defaults é o caminho errado para excluir as preferências - basta matar cfprefsd e usar rm para excluir o recipiente de sandbox inteiro do aplicativo ( rm ~/Library/Containers/<my app> ) ou apenas seu arquivo de preferência ( rm ~/Library/Containers/<my app>/Data/Library/Preferences/<my app>.plist )