NSDate
represents a single point in time. It does not have (and does not need!!) a time zone. So "a known futureDate (which is in GMT/UTC)" or "I can't supply an NSDate with a correct timezone" does not make sense.
[futureDate timeIntervalSinceNow]
returns the time interval between futureDate
and the
current date and time and is completely independent of any time zones.
If you do not get the expected result, then perhaps your calculation of futureDate
was wrong.