[AVCaptureStillImageOutput captureStillImageAsynchronouslyFromConnection:completionHandler:] Inco...

近期在bug后臺(tái)收到一條NSInternalInconsistencyException導(dǎo)致閃退的記錄瘾英。

出錯(cuò)堆棧如下:-[AVCaptureStillImageOutput captureStillImageAsynchronouslyFromConnection:completionHandler:] Inconsistent state

同時(shí)注意到該錯(cuò)誤全部發(fā)生在iPad上。

最后查到原因是在iPad上開啟了畫中畫的情況下胰舆,使用AVCaptureSession拍照由于session處于被interrupt的狀態(tài)熊响,所以會(huì)導(dǎo)致閃退昌抠。還有其他的原因例如打電話锄贷,鬧鈴,處在分屏模式下等牢酵。

解決辦法:在session startRunning前添加AVCaptureSessionWasInterrupted通知的觀察悬包。樣例代碼如下:


#pragma mark - Session Notifications

- (void) addObservers

{

    /*

    A session can only run when the app is full screen. It will be interrupted

    in a multi-app layout, introduced in iOS 9, see also the documentation of

    AVCaptureSessionInterruptionReason. Add observers to handle these session

    interruptions and show a preview is paused message. See the documentation

    of AVCaptureSessionWasInterruptedNotification for other interruption reasons.

    */

    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(sessionWasInterrupted:) name:AVCaptureSessionWasInterruptedNotification object:self.session];

    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(sessionInterruptionEnded:) name:AVCaptureSessionInterruptionEndedNotification object:self.session];

}

- (void) removeObservers

{

    [[NSNotificationCenter defaultCenter] removeObserver:self];

}

- (void) sessionWasInterrupted:(NSNotification*)notification

{

    AVCaptureSessionInterruptionReason reason = [notification.userInfo[AVCaptureSessionInterruptionReasonKey] integerValue];

    NSLog(@"Capture session was interrupted with reason %ld", (long)reason);

    //在此禁止掉拍照功能,同時(shí)添加提醒

    if (reason == AVCaptureSessionInterruptionReasonAudioDeviceInUseByAnotherClient ||

        reason == AVCaptureSessionInterruptionReasonVideoDeviceInUseByAnotherClient) {

    }

    else if (reason == AVCaptureSessionInterruptionReasonVideoDeviceNotAvailableWithMultipleForegroundApps) {

    }

    else if (@available(iOS 11.1, *)) {

        if (reason == AVCaptureSessionInterruptionReasonVideoDeviceNotAvailableDueToSystemPressure) {

        }

    } else {

        // Fallback on earlier versions

    }

}

- (void) sessionInterruptionEnded:(NSNotification*)notification

{

  //在此可以恢復(fù)拍照功能

}

具體可以查看蘋果的樣例代碼

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末茁帽,一起剝皮案震驚了整個(gè)濱河市玉罐,隨后出現(xiàn)的幾起案子屈嗤,更是在濱河造成了極大的恐慌潘拨,老刑警劉巖,帶你破解...
    沈念sama閱讀 210,978評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件饶号,死亡現(xiàn)場(chǎng)離奇詭異铁追,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)茫船,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,954評(píng)論 2 384
  • 文/潘曉璐 我一進(jìn)店門琅束,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人算谈,你說我怎么就攤上這事涩禀。” “怎么了然眼?”我有些...
    開封第一講書人閱讀 156,623評(píng)論 0 345
  • 文/不壞的土叔 我叫張陵艾船,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我高每,道長(zhǎng)屿岂,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,324評(píng)論 1 282
  • 正文 為了忘掉前任鲸匿,我火速辦了婚禮爷怀,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘带欢。我一直安慰自己运授,他們只是感情好烤惊,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,390評(píng)論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著徒坡,像睡著了一般撕氧。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上喇完,一...
    開封第一講書人閱讀 49,741評(píng)論 1 289
  • 那天伦泥,我揣著相機(jī)與錄音,去河邊找鬼锦溪。 笑死不脯,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的刻诊。 我是一名探鬼主播防楷,決...
    沈念sama閱讀 38,892評(píng)論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼则涯!你這毒婦竟也來(lái)了复局?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,655評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤粟判,失蹤者是張志新(化名)和其女友劉穎亿昏,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體档礁,經(jīng)...
    沈念sama閱讀 44,104評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡角钩,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,451評(píng)論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了呻澜。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片递礼。...
    茶點(diǎn)故事閱讀 38,569評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖羹幸,靈堂內(nèi)的尸體忽然破棺而出脊髓,到底是詐尸還是另有隱情,我是刑警寧澤栅受,帶...
    沈念sama閱讀 34,254評(píng)論 4 328
  • 正文 年R本政府宣布将硝,位于F島的核電站,受9級(jí)特大地震影響窘疮,放射性物質(zhì)發(fā)生泄漏袋哼。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,834評(píng)論 3 312
  • 文/蒙蒙 一闸衫、第九天 我趴在偏房一處隱蔽的房頂上張望涛贯。 院中可真熱鬧,春花似錦蔚出、人聲如沸弟翘。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,725評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)稀余。三九已至悦冀,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間睛琳,已是汗流浹背盒蟆。 一陣腳步聲響...
    開封第一講書人閱讀 31,950評(píng)論 1 264
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留师骗,地道東北人历等。 一個(gè)月前我還...
    沈念sama閱讀 46,260評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像辟癌,于是被迫代替她去往敵國(guó)和親寒屯。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,446評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容