A large number of clubs were battling to secure his services ahead of the new season.
But he will remain in the National League North with York but become a full-time professional after the 26-year-old decided his future.
Minstermen boss Steve Watson says the move is a big one for the club.
"It has taken a little while to do because he had a lot of options," Watson told the club’s website.
"He has now made the decision to become a 'full-time' footballer which is a big deal to him.
"He is a great character and a terrific striker - as most clubs who have played against him in this league will tell you!
“He can score all kinds of goals and is very lively. In the last two seasons, he has chalked up as many goals as anybody. We are really lucky to have him and I think it will work really well.
"It's a huge feather in the cap for the club and I think the fans will be excited by it.”