iOS 遇到的一些問(wèn)題。

簡(jiǎn)單記錄一下。

1.popViewControllerAnimated

今天客戶反饋說(shuō)在控制機(jī)器人的過(guò)程中App點(diǎn)退出后閃退。我自己驗(yàn)證了一下,發(fā)現(xiàn)問(wèn)題有點(diǎn)不對(duì)。

說(shuō)下背景。 有個(gè)控制器,里面有2個(gè)定時(shí)器,其中一個(gè)定時(shí)器在滿足手機(jī)傾斜角度的情況下會(huì)每隔1s的給機(jī)器人發(fā)控制指令。然后點(diǎn)暫停按鈕會(huì)彈出一個(gè)UIAlertController,其中的退出這個(gè)Action,和控制器中的返回按鈕,共同調(diào)用一個(gè)返回函數(shù)。

一開始懷疑是控制器沒(méi)有正常析構(gòu),打印了deinit方法,發(fā)現(xiàn)調(diào)用了,排除了定時(shí)器沒(méi)有調(diào)用invalidate之類的低級(jí)錯(cuò)誤后,轉(zhuǎn)而去查了一下Action的handler,發(fā)現(xiàn)用weakunowned,或者干脆就用普通的self,都報(bào)錯(cuò):optional xxx found nil(黑人問(wèn)號(hào)臉)

后來(lái)沒(méi)辦法就瞎搗鼓,popViewControllerAnimated(false)改成true點(diǎn)退出就 不 崩 了

但讓人郁悶的是,返回和退出共用一個(gè)退出函數(shù),點(diǎn)返回什么情況下都沒(méi)事。。

后來(lái)去搜搜有沒(méi)有同樣的問(wèn)題,一搜還真有:UINavigationController popViewControllerAnimated: crash in iOS 6

發(fā)現(xiàn)這歪果仁寫了一段話:
“Interestingly the crash doesn't occur if I use [self.navigationController popViewControllerAnimated:YES];
(YES rather than NO).
But of course this defeats the purpose of using a custom pop animation.”

Well,interesting.

2.lame轉(zhuǎn)換錄音沒(méi)聲音

在錄制caf文件時(shí),需要使用雙通道,否則在轉(zhuǎn)換為MP3格式時(shí),聲音不對(duì)

    let recordSettings =
                    [AVSampleRateKey : NSNumber(float: Float(8000.0)),//聲音采樣率
                        AVFormatIDKey : NSNumber(int: Int32(kAudioFormatLinearPCM)),//編碼格式
                        AVNumberOfChannelsKey : NSNumber(int: 2),//采集音軌必須雙聲道
                        AVEncoderAudioQualityKey : NSNumber(int: Int32(AVAudioQuality.Max.rawValue))]//音頻質(zhì)量

3.iOS10 相冊(cè)權(quán)限不彈窗

有一種錯(cuò)叫info.plist配置了對(duì)應(yīng)字段卻還是不彈窗。 那么,百度和谷歌不會(huì)告訴你的是,需要檢查一下iPhone - 通用 - 訪問(wèn)控制 - 照片 - 是否允許更改。

4.圖片base64操作可能的問(wèn)題

將一個(gè)大圖轉(zhuǎn)換成小圖,小圖轉(zhuǎn)base64上傳的過(guò)程中,發(fā)現(xiàn)服務(wù)器上收到的是大圖。嘗試各種花樣(根據(jù)cgimage,data等)來(lái)生成新的圖片對(duì)象傳上去都是大圖。mutableCopy更是用不得,于是還是乖乖用drawrect做。

5.OC調(diào)Swift Framework出現(xiàn)類似@rpath/libswiftCallKit.dylib錯(cuò)誤

在OC項(xiàng)目中,Build Settings->Build Options->ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES 設(shè)置為YES

6.類似info.plist配置了xxx但卻不起作用的情況

請(qǐng)堅(jiān)持自己的操作是正確的前提下,檢查info.plist里的字段是否在Target->Info->Custom iOS Target Properties中出現(xiàn)。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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

  • 1.自定義控件 a.繼承某個(gè)控件 b.重寫initWithFrame方法可以設(shè)置一些它的屬性 c.在layouts...
    圍繞的城閱讀 3,469評(píng)論 2 4
  • *面試心聲:其實(shí)這些題本人都沒(méi)怎么背,但是在上海 兩周半 面了大約10家 收到差不多3個(gè)offer,總結(jié)起來(lái)就是把...
    Dove_iOS閱讀 27,211評(píng)論 30 472
  • 1、改變 UITextField 占位文字 顏色和去掉底部白框 [_userName setValue:[UICo...
    i_MT閱讀 1,059評(píng)論 0 2
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 134,923評(píng)論 18 139
  • 最近看的RN多了,感覺(jué)RN寫著比OC寫著舒服多了,對(duì)比最強(qiáng)烈的就是布局方面,苦逼的手寫Autolayout代碼。寫...
    Demon404閱讀 2,220評(píng)論 0 1