iOS 遇到的一些问题。

简单记录一下。

1.popViewControllerAnimated

今天客户反馈说在控制机器人的过程中App点退出后闪退。我自己验证了一下,发现问题有点不对。

说下背景。 有个控制器,里面有2个定时器,其中一个定时器在满足手机倾斜角度的情况下会每隔1s的给机器人发控制指令。然后点暂停按钮会弹出一个UIAlertController,其中的退出这个Action,和控制器中的返回按钮,共同调用一个返回函数。

一开始怀疑是控制器没有正常析构,打印了deinit方法,发现调用了,排除了定时器没有调用invalidate之类的低级错误后,转而去查了一下Action的handler,发现用weakunowned,或者干脆就用普通的self,都报错:optional xxx found nil(黑人问号脸)

后来没办法就瞎捣鼓,popViewControllerAnimated(false)改成true点退出就 不 崩 了

但让人郁闷的是,返回和退出共用一个退出函数,点返回什么情况下都没事。。

后来去搜搜有没有同样的问题,一搜还真有:UINavigationController popViewControllerAnimated: crash in iOS 6

发现这歪果仁写了一段话:
“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转换录音没声音

在录制caf文件时,需要使用双通道,否则在转换为MP3格式时,声音不对

    let recordSettings =
                    [AVSampleRateKey : NSNumber(float: Float(8000.0)),//声音采样率
                        AVFormatIDKey : NSNumber(int: Int32(kAudioFormatLinearPCM)),//编码格式
                        AVNumberOfChannelsKey : NSNumber(int: 2),//采集音轨必须双声道
                        AVEncoderAudioQualityKey : NSNumber(int: Int32(AVAudioQuality.Max.rawValue))]//音频质量

3.iOS10 相册权限不弹窗

有一种错叫info.plist配置了对应字段却还是不弹窗。 那么,百度和谷歌不会告诉你的是,需要检查一下iPhone - 通用 - 访问控制 - 照片 - 是否允许更改。

4.图片base64操作可能的问题

将一个大图转换成小图,小图转base64上传的过程中,发现服务器上收到的是大图。尝试各种花样(根据cgimage,data等)来生成新的图片对象传上去都是大图。mutableCopy更是用不得,于是还是乖乖用drawrect做。

5.OC调Swift Framework出现类似@rpath/libswiftCallKit.dylib错误

在OC项目中,Build Settings->Build Options->ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES 设置为YES

6.类似info.plist配置了xxx但却不起作用的情况

请坚持自己的操作是正确的前提下,检查info.plist里的字段是否在Target->Info->Custom iOS Target Properties中出现。

你可能感兴趣的:(iOS 遇到的一些问题。)