构建出去的静态库提供给客户之后,反馈执行某个功能的时候会出现crash。
在自己的工程,并不能复现这个问题。拿到客户的源码,确实可以crash。用标题关键字查了一些github上的issue,在firebase的的仓库中发现有同样的问题,产生的原因是Xcode工程的displayName 报名设置为中文,那么[NSBundle bundleWithIdentifier:] 就必定会crash。
至于原因,可能是因为这个API的实现对ASCII码的支持存在问题,暂时没有去纠结这个问题。
对于解决方式:
- 调试阶段直接修改displayName为非中文。
- 不要用这个API。
- 必须要用这个API,那么考虑引入多语言配置,并配置CFBundleDisplayName,用这种方式来修改包名。
中文互联网下这个问题基本上没有看到讨论,写在这里希望google能帮忙传递给更过的人。







网友评论