Last offseason, McCann was nontendered by Detroit, then signed with Chicago. He ended up setting career highs in batting average (.273), home runs (18) and RBIs (60) in 118 games.
The 29-year-old McCann will be a free agent after the 2020 season.
It’s the second deal the White Sox have given to a catcher this offseason. They agreed to terms on a four-year, $73 million deal with free-agent All-Star Yasmani Grandal last month.