A bit of a criticism here:
1: If a friendship is damaged then "just dropping in when you're reasonably sure you're not interrupting anything " is a horrifically bad idea as I have learned the hard way.
2: If you must completely humble and berate yourself for this friend to enjoy your company again, then guess what? They are not even worth a second thought from you. Friendships are not about taking "all the blame" or "taking a little extra." A friendship that is worth saving has no worries when it comes to blame.
3: Relating to my former point, if a free dinner = friendship, then this friend is most likely a bastard and will eat you and your children when you turn your back.
There is never a need to take back friends. If a friendship is genuine the frienship will naturally return. Thank you and God bless the ruling class.