Je suis en train de développer une application que je voudrais déployer pour iPhone 3.0, iPhone 4.0 et qui peut fonctionner sur l'iPad en mode émulation.__IPHONE_OS_VERSION_MIN_REQUIRED veuillez expliquer
Je développe avec XCode 3.2.3 et j'ai des vidéos à lire. Je voudrais utiliser MPMoviePlayerViewController
pour> = 3,2 et MPMoviePlayerController
pour < 3.2.
Si je
Class mplayerControllerClass = NSClassFromString(@"MPMoviePlayerViewController");
if(mplayerControllerClass != nil)
{
MPMoviePlayerViewController* moviePlayerViewController = [[MPMoviePlayerViewController alloc] initWithContentURL:movieUrl];
...
}
sera un iPhone avec OS 3.0 capable de gérer une classe, il ne sait pas?
Est-il bon de mettre le code à l'intérieur __IPHONE_OS_VERSION_MIN_REQUIRED > 30200
ifelse block? comme ceci:
Class mplayerControllerClass = NSClassFromString(@"MPMoviePlayerViewController");
if(mplayerControllerClass != nil) {
#if __IPHONE_OS_VERSION_MIN_REQUIRED >= 30200
MPMoviePlayerViewController* moviePlayerViewController = [[MPMoviePlayerViewController alloc] initWithContentURL:movieUrl];
...
}
mais que fait vraiment __IPHONE_OS_VERSION_MIN_REQUIRED
? Il me semble qu'il ne fait que répéter les paramètres que j'ai configurés pour mon projet: min = 3.0
Vous pouvez inclure la nouvelle classe, à condition que votre SDK de base soit le nouveau. Voir l'exemple de code pomme pour 'MessageUI': http://developer.apple.com/IPhone/library/samplecode/MailComposer/Listings/Classes_MailComposerViewController_m.html#//apple_ref/doc/uid/DTS40008865-Classes_MailComposerViewController_m-DontLinkElementID_6 – pgb
@pgb, on dirait que tu as raison. Je pensais me souvenir de recevoir des avertissements dans le passé si je venais juste d'utiliser la classe. –