Question: So I'm trying to register for the MPMoviePlayerDidExitFullscreenNotification notification in my universal app (iPhone and iPad).

Problem is, OS 3.1.3 doesn't support this notification, and just crashes.

I've tried version checking, like so:

```
if ([MPMoviePlayerController instancesRespondToSelector:@selector(setShouldAutoplay:)])
{//Check for shouldSetAutoplay, this ensures that we are running at least 3.2
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(playerDidFinish:) name:(NSString*)class2 object:[self player]];

```

Doesn't work, still crashes. How do I do this?

Answer: 
This also works:

```
if (&MPMoviePlayerDidExitFullscreenNotification) {

}

```

Note you have to check the address of the symbol otherwise you will get a crash.
To answer your actual question:

You should be able to register for any notification without crashing. As Kenny says, it's a symbol, so the correct registration for 3.2 is;

```
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(playerDidFinish:) name:MPMoviePlayerDidExitFullscreenNotification object:[self player]];

```

For code that works in 3.13, you can assume that the symbol is just a convenience for the compiler, and use a string instead:

```
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(playerDidFinish:) name:@"MPMoviePlayerDidExitFullscreenNotification" object:[self player]];

```

You test using `shouldAutoplay` is fine, although I'd prefer to all it directly on the instance I would be using - ie `[self player]`. It's probably that your real problem is using `class2` cast to `NSString` as the notification name.