What does truly matter is to understand that when you physically crave for a certain food, what you crave for is usually not the food itself but one or many of the compounds that you find in that specific food.
So, if a given type of food is bad for you ( like chocolate) and you want to stop eating it, you need to find ways of getting the same ingredients in other ways.
Here is a simple example:
When you physically crave for cheese, you might in fact crave for fat+protein.
So, if you give your body fat and protein in other forms, you body will stop sending the craving signals out.
This nutrition strategy IS the long term solution to tackle negative cravings and works much better than any suppression tactic!