I use a live trap to catch them and release them near a swamp two miles away.
Repellents do not work.
You could put chicken wire over your tomato cages. Harder to harvest the tomatoes, but also harder for the critters to get at them.
Someone suggested setting out nuts or fruit away from the tomatoes so they will no longer be interested. You can read more suggestions here:http://www.hometalk.com/32164/how-can-you-keep-squirrels-from-eating-my-ripe-tomatoes
I have watched squirrels run up a tree after grabbing a tomato and hang by it's back feet while eating the fruit. They love tomatoes. Cats love squirrels the same way they love mice.
The squirrels didn't bother mine last year. I used cayenne pepper (a lot) around my garden mostly to keep the chippies out.
The best way to rid your self of a squirrel problem is with a frying pan some seasoning and gravy makings... Or take an old cooking pot you no longer want... put a package of red man chewing tobacco in it or any other brand.. fill it up with water.. and boil it down to half.. if you put in 2 qts you are boiling down to 1 qt.. place this around your garden.. squirrls rabbits, stray cats, dogs will not cross the line... do not get it on your plants.. but place a thin line around the perimiter of the garden.. it also keeps out unwanted insects from the surrounding areas... an old time remedy called witches brew or black leaf 40... animals know to stay away from nicotine.. why don't people?