播放开始后 Siri 未 "replying" 到 PlayMedia 意图

Siri not "replying" to PlayMedia intent after playback begins

我有一个基于音频的测试应用程序,我正在向其添加 Siri 支持。该应用程序当前响应 PlayMedia 意图并正确播放所需的媒体,但 Siri 似乎不想通过在 Siri 指示器上方显示状态文本来确认播放已开始。

举例说明,执行命令“在 _______ 上播放 Fleetwood Mac”。

这是 Spotify 上的结果:

这是我的测试应用程序的结果:

如您所见,在播放 Spotify 时,Siri 通过显示“Fleetwood Mac 正在播放 Spotify...”来“回复”请求。相反,在我的测试应用程序中尝试此操作时不会出现此文本。

这是我的意图处理程序代码:

#pragma mark - INPlayMediaIntentHandling

-(void)handlePlayMedia:(INPlayMediaIntent *)intent completion:(void (^)(INPlayMediaIntentResponse *response))completion {
    
    INPlayMediaIntentResponse * const response = [[INPlayMediaIntentResponse alloc] initWithCode:INPlayMediaIntentResponseCodeHandleInApp userActivity:nil];
    completion ? completion(response) : nil;
    
}

-(void)resolveMediaItemsForPlayMedia:(INPlayMediaIntent *)intent withCompletion:(void (^)(NSArray<INPlayMediaMediaItemResolutionResult *> * _Nonnull))completion {
    
    INMediaItem * const mediaItem = [[INMediaItem alloc] initWithIdentifier:[[SongController sharedInstance] songIdentifier] title:[[SongController sharedInstance] songTitle] type:INMediaItemTypeSong artwork:nil];
    INPlayMediaMediaItemResolutionResult * const result = [INPlayMediaMediaItemResolutionResult successWithResolvedMediaItem:mediaItem];
    completion ? completion(@[result]) : nil;
    
}

以及我的应用委托中的意图处理代码:

-(void)application:(UIApplication *)application handleIntent:(INIntent *)intent completionHandler:(void(^)(INIntentResponse *intentResponse))completionHandler {
    
    [[SongPlaybackController sharedInstance] beginPlayback];
    
    INPlayMediaIntentResponse * const response = [[INPlayMediaIntentResponse alloc] initWithCode:INPlayMediaIntentResponseCodeSuccess userActivity:nil];
    [response setNowPlayingInfo:[[SongController sharedInstance] songNowPlayingInfo]];
    completionHandler ? completionHandler(response) : nil;
    
}

为什么在我的测试应用程序中播放内容时 Siri 不显示任何文本?我怎样才能让她显示“Fleetwood Mac 正在(我的应用程序)上播放...”?

奇怪的是,我重新启动设备后,这段代码似乎才开始工作。无视?