美文网首页
如何让iOSAPP后台运行

如何让iOSAPP后台运行

作者: AryCode | 来源:发表于2016-08-26 14:28 被阅读43次

    方式一

    - (void)applicationDidEnterBackground:(UIApplication *)application {
        _backgroundTaskIdentifier = [application beginBackgroundTaskWithExpirationHandler:^{
            [application endBackgroundTask:_backgroundTaskIdentifier];
            self.backgroundTaskIdentifier = UIBackgroundTaskInvalid;
        }];
    }
    

    在后台开启一个新的long-run的任务,一般只有10分钟,10分钟以后自动调用Block里面的方法,结束这个后台任务,否则,系统会杀死这个APP,或者手动调用Block里面的内容,结束这个后台任务

    方式二

        dispatch_queue_t dispatchQueue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);
        dispatch_async(dispatchQueue, ^(void) {
            NSError *audioSessionError = nil;
            AVAudioSession *audioSession = [AVAudioSession sharedInstance];
            if ([audioSession setCategory:AVAudioSessionCategoryPlayback error:&audioSessionError]){
                NSLog(@"Successfully set the audio session.");
            } else {
                NSLog(@"Could not set the audio session");
            }
            
            NSBundle *mainBundle = [NSBundle mainBundle];
            NSString *filePath = [mainBundle pathForResource:@"wusheng" ofType:@"mp3"];
            NSData *fileData = [NSData dataWithContentsOfFile:filePath];
            NSError *error = nil;
            
            self.audioPlayer = [[AVAudioPlayer alloc] initWithData:fileData error:&error];
            
            if (self.audioPlayer != nil){
                self.audioPlayer.delegate = self;
                
                [self.audioPlayer setNumberOfLoops:-1];
                if ([self.audioPlayer prepareToPlay] && [self.audioPlayer play]){
                    NSLog(@"Successfully started playing...");
                } else {
                    NSLog(@"Failed to play.");
                }
            } else {
                
            }
        });
    

    步骤

    • 在info.plist中添加Required background modes。并设置为:audio
    • 初始化一个AVAudioPlayer音频,并且无限制的播放下去。

    参考[资料]
    [资料]: http://blog.sina.com.cn/s/blog_7b9d64af0101cjci.html

    相关文章

      网友评论

          本文标题:如何让iOSAPP后台运行

          本文链接:https://www.haomeiwen.com/subject/qjhzsttx.html