The only sure fire way is to take a Hydrometer reading every other day or so for about a little over a week (say 10 days). If it doesn't drop anymore it's done....HOWEVER. I never do this
I just look to see when the bubbling stops and the cider starts to clear. The long and short of it is with cider is seems to be fine with the 'set and forget' method as it can basically stay in the primary for well over a month (I'd cut it off after 3 months though) with little consequence as long as the temperature is cool and stable (my basement is around the low 60's now and will drop more as the weather gets colder. However, at higher temps you'll want to get it off the sediment if you plan on doing any long term bulk aging.
So if you had a seemingly normal period of the bubbling away and then it slowly came to cease (just be careful it isn't because the temps have dropped and the yeast has gone inactive) then it's probably ready to go into a secondary (or straight to bottle like I do) to settle out the rest of the way and age.
I should add, I have a rough idea what my final gravity should look like and if the other signs (clearing, no bubbling, long enough time frame i.e. about 3 weeks) look good I take a gravity reading. If that reading matches the other clues, then I know it's ready for the next step. I always take initial and final gravity readings on everything I brew.