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
再次拉取代码会提示输入账号密码。
Xcode集成静态库问题与iOS音频处理及Git密码更新解决方案
文章讲述了在Xcode中遇到的静态库集成问题,包括libtool错误和解决办法,以及如何检查静态库是否支持bitcode。同时讨论了iOS音频处理的注意事项,如AVAudioSessionCategoryPlayAndRecord的使用场景,音频中断通知的条件,以及性能与IOBufferDuration的关系。此外,还提到了Git密码更新后如何解决认证失败的问题,通过git配置osxkeychain来更新存储的凭证。
8555

被折叠的 条评论
为什么被折叠?



