ios后台长时间运行的选择策略及注意事项

概述

本篇文章是介绍ios程序的后台长时间运行的策略的选择。如果想了解后台运行的基本原理,请查看上一篇博文http://blog.csdn.net/smiling8866/article/details/51024190

一、音频播放

当应用被设置为是一个音频播放的应用的时候,它就可以在后台持续运行。但是这种类型的应用存在一些限制:
1.audio session不能被限制
2.要另一个程序使用kAudioSessionCatgory_RecordAndPlay(如Skype)或者kAudioSession_SoloAbientSound,那么本程序会被立即打断
3.如果你的app确实为用户播放音频,你应用可以使用音频模式。如果你尝试着用这个模式来搞一个“静默”音频来让app一直在后台运行的话,苹果将会拒绝你的app上架。

下面我们将创建一个音频播放的app:
注意:只是在app退出的时候循环播放一个音频
1.设置应用的模式为音频播放
ios后台长时间运行的选择策略及注意事项_第1张图片
2.导入AVFoundation框架,书写循环播放音频的代码

_audioSession = [AVAudioSession sharedInstance];
    [_audioSession setActive:YES error:nil];
    [_audioSession setCategory:AVAudioSessionCategoryPlayback error:nil];
    [[UIApplication sharedApplication] beginReceivingRemoteControlEvents];

    NSString *musciPath = [[NSBundle mainBundle] pathForResource:@"Hello_backrun" ofType:@"mp3"];
    NSURL *url = [[NSURL alloc] initFileURLWithPath:musciPath];

    // 创建播放器
    _player = [[AVAudioPlayer alloc] initWithContentsOfURL:url error:nil];
    [_player prepareToPlay];
    [_player setVolume:1];
    _player.numberOfLoops = -1;
    [_player play];

具体代码下载地址:http://download.csdn.net/detail/smiling8866/9481574

你可能感兴趣的:(IOS开发工作总结)