0

ボタンをクリックするとメッセージが表示される機内モードのiPhoneでこのコードをテストしますが、インターネットに接続している状態では、ボタンを再生しても機能せず、アプリケーションが終了します

これはコードです:

-(void)playMovie {
    NSURL *url = [NSURL URLWithString:@"http://www.tvlaayoune.com/iphone/jt.mp4"];
    UIAlertView *errorView;
    if ([[Reachability sharedReachability]
            internetConnectionStatus] == NotReachable) {
        errorView = [[UIAlertView alloc]
                        initWithTitle: @"Unable To Connect To Server" 
                              message: @"Check your network connection and try again."
                             delegate: self
                        cancelButtonTitle: @"OK"
                        otherButtonTitles: nil];
    } else {
        moviePlayer = [[MPMoviePlayerController alloc]
                          initWithContentURL:url];
        [[NSNotificationCenter defaultCenter]
            addObserver:self
               selector:@selector(moviePlayBackDidFinish:)
                   name:MPMoviePlayerPlaybackDidFinishNotification
    object:moviePlayer];
        moviePlayer.controlStyle = MPMovieControlStyleDefault;
        moviePlayer.shouldAutoplay = YES;
        [self.view addSubview:moviePlayer.view];
        [moviePlayer setFullscreen:YES animated:YES];
    } [errorView show];
}

何が問題になる可能性がありますか?

4

1 に答える 1

0

私が正しく理解していれば、インターネットを使用していて映画を表示したいときにコードがクラッシュします。その場合、コードの最後の行が表示されerrorViewますが、インターネットを使用している場合は割り当てられません。

そのショーコールを同じ場合に移動します:

-(void)playMovie {
    NSURL *url = [NSURL URLWithString:@"http://www.tvlaayoune.com/iphone/jt.mp4"];
    UIAlertView *errorView;
    if ([[Reachability sharedReachability]
            internetConnectionStatus] == NotReachable) {
        errorView = [[UIAlertView alloc]
                        initWithTitle: @"Unable To Connect To Server" 
                              message: @"Check your network connection and try again."
                             delegate: self
                        cancelButtonTitle: @"OK"
                        otherButtonTitles: nil];



         // Notice this line here:
         [errorView show];


     } else {
        moviePlayer = [[MPMoviePlayerController alloc]
                          initWithContentURL:url];
        [[NSNotificationCenter defaultCenter]
            addObserver:self
               selector:@selector(moviePlayBackDidFinish:)
                   name:MPMoviePlayerPlaybackDidFinishNotification
    object:moviePlayer];
        moviePlayer.controlStyle = MPMovieControlStyleDefault;
        moviePlayer.shouldAutoplay = YES;
        [self.view addSubview:moviePlayer.view];
        [moviePlayer setFullscreen:YES animated:YES];
    } 


    // Removed the show call from here

}
于 2012-05-04T14:59:22.583 に答える