XCode中,如果直接将 xxx.a 文件拖进到项目中,有时会出现异常。
解决方法:在Build Settings选项中,找到Library Search Paths,将 xxx.a 所在的目录加入进去。
比如检查静态库test.a中的arm64架构是否支持bitcode,可以用otool命令,如下:
然后搜bitcode的关键词打印,如果有,则表示支持bitcode,否则就是不支持bitcode。
iOS只有设置AVAudioSessionCategoryPlayAndRecord时,才能在扬声器和听筒间切换。
其他几个坑:
- audiosession处于激活状态时,才会收到打断开始和结束的通知。
- setPreferredIOBufferDuration 设置的值太小会影响性能,默认20ms,低端机用40ms,但如果是蓝牙接入,则必须低于30ms才行,否则无声。
- iOS系统的硬件回声消除需要设置通话音量才行。
如果Git密码更新后,拉取代码仓库会报如下错误:
fatal: Authentication failed for ...
解决方法是执行下面命令:
git config --global credential.helper osxkeychain
再次拉取代码会提示输入账号密码。
C++ volatile的作用
volatile 就是告诉编译器不要把 volatile 修饰的数据优化到寄存器里,每次读取和写入都操作原始的数据地址。
Android中"UserManger.isUserAGoat()"的合适案例
问题描述:
我正在看在安卓4.2里介绍的新API。当看到“UserManger”类时,我遇到了如下的“method”: public boolean isUserAGoat() Used to determine whether the user making this call is subject to teleportations.
Returns whether the user making this call is a goat. 这个应该怎样使用和什么时候使用?
回答:
根据他们的资料,在API21前,这个“method”用来返回“false”
看起来这个“method”对我们开发者没有真正的用途。一些人之前认为它可能是个复活节彩蛋。
再次编辑: 在API21它改为判断是否存在有包“com.coffeestainstudios.goatsimulator”的已安装app。