number 2 is the correct thing to do, but being able change sdk to 10.7 is very nice, because in general if it won't compile because a class or method is missing it won't run.
you will need to re-write code to dynamically detect if things are available for use...
Class Some108Class = NSClassFromString(@"The10_8Class"); //will be Nil in 10.7
or
[var respondsToSelector:@selector(someMethod)]; // returns no if someMethod isn't available
[SomeClass instancesRespondToSelector:@selector(someMethod)];//same