我在SimplePlayer示例项目中将其集成到我自己的测试项目中。登录和搜索曲目已经完美无缺,但是当我尝试播放像SimplePlayer这样的歌曲时,在EXC_BAD_ACCESS
的两个不同位置SPSession.m
播放1-2秒后它会崩溃(见下图) 。以下是开始播放的代码:
SPTrack *track = [allTracks objectAtIndex:currentTrack];
[SPAsyncLoading waitUntilLoaded:track timeout:kSPAsyncLoadingDefaultTimeout then:^(NSArray *loadedItems, NSArray *notLoadedItems) {
[playbackManager playTrack:track callback:^(NSError *error) {
if (error) {
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Can't play Spotify Track" message:[error localizedDescription] delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
[alert show];
} else {
spotifyTrack = track;
}
}];
}];
注意:我通过Singleton模式处理自定义类SpotifyPlayer
中的歌曲播放。
非常感谢任何帮助!
答案 0 :(得分:0)
我假设SimplePlayer不会以同样的方式崩溃。该代码显示您要么过度释放SPSession实例,要么释放了您设置为会话委托的对象而未将委托设置为nil
。仔细检查你的内存管理和对象生存期。