2015-01-27 2 views
1

Как я понимаю, для того, чтобы показать музыкальный плеер на экране блокировки, писать следующий код недостаточно.Swift. Получать события дистанционного управления для работы с MPNowPLayingInfoCenter

override func viewDidAppear(animated: Bool) {  
var mpic = MPNowPlayingInfoCenter.defaultCenter() 
    mpic.nowPlayingInfo = [ 
     MPMediaItemPropertyTitle:"This Is a Test", 
     MPMediaItemPropertyArtist:"Matt Neuburg" 
    ] 
} 

Мое приложение должно также быть в состоянии получить remote control events

Итак, как сделать это в Swift?

Я нашел это от Apple Documentation, но это для Objective-C.

- (void)viewDidAppear:(BOOL)animated { 
    [super viewDidAppear:animated]; 

    // Turn on remote control event delivery 
    [[UIApplication sharedApplication] beginReceivingRemoteControlEvents]; 

    // Set itself as the first responder 
    [self becomeFirstResponder]; 
} 


- (void)viewWillDisappear:(BOOL)animated { 

    // Turn off remote control event delivery 
    [[UIApplication sharedApplication] endReceivingRemoteControlEvents]; 

    // Resign as first responder 
    [self resignFirstResponder]; 

    [super viewWillDisappear:animated]; 
} 

- (void)remoteControlReceivedWithEvent:(UIEvent *)receivedEvent { 

    if (receivedEvent.type == UIEventTypeRemoteControl) { 

     switch (receivedEvent.subtype) { 

      case UIEventSubtypeRemoteControlTogglePlayPause: 
       [self playOrStop: nil]; 
       break; 

      case UIEventSubtypeRemoteControlPreviousTrack: 
       [self previousTrack: nil]; 
       break; 

      case UIEventSubtypeRemoteControlNextTrack: 
       [self nextTrack: nil]; 
       break; 

      default: 
       break; 
     } 
    } 
} 

ответ