She added how the Cambridges wanted a surprise and did not ask to know the sex of their first baby.
Ms Nicholl wrote: “Courtiers insisted the pair had not found out the sex of their unborn baby, and friends close to the couple claim William wanted a surprise.
“Although Kate apparently suspected it was a boy and had set her heart on the name Alexander, they had not yet decided what to call their firstborn.”
A friend of the Cambridges said: “When I saw William a few weeks before the birth he said they didn’t know [the baby’s sex] and didn’t want to find out.
“He said there are so few surprises in life—this was one he wanted to keep.
“Kate said she thought it was a boy because the baby kicked so much.”
Prince George was born on 22 July, 2013 at St Mary’s Hospital in London.
The Cambridges went on to have two other children together – Princess Charlotte, six, and Prince Louis, three.