XCode中,如果直接将 xxx.a 文件拖进到项目中,有时会出现异常。
error: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool: can't locate file for: -lxxx
error: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool: file: -lxxx is not an object file (not allowed in a library)
解决方法:在Build Settings选项中,找到Library Search Paths,将 xxx.a 所在的目录加入进去。
比如检查静态库test.a中的arm64架构是否支持bitcode,可以用otool命令,如下:
otool -lv -arch arm64 test.a
然后搜bitcode的关键词打印,如果有,则表示支持bitcode,否则就是不支持bitcode。
iOS只有设置AVAudioSessionCategoryPlayAndRecord时,才能在扬声器和听筒间切换。
其他几个坑:
audiosession处于激活状态时,才会收到打断开始和结束的通知。
setPreferredIOBufferDuration 设置的值太小会影响性能,默认20ms,低端机用40ms,但如果是蓝牙接入,则必须低于30ms才行,否则无声。
iOS系统的硬件回声消除需要设置通话音量才行。
如果Git密码更新后,拉取代码仓库会报如下错误:
fatal: Authentication failed for ...
解决方法是执行下面命令:
git config --global credential.helper osxkeychain
再次拉取代码会提示输入账号密码。