iOS 动态路由实现方案 随着App的版本迭代,很多原本原生实现的页面,需要通过新的H5页面进行升级/降级,或者原本PC或者H5页面,需要重定向到已有的原生页面。而这些基本都是硬编码的跳转逻辑,可能需要随着版本不停改动。
OC项目创建iOS 14 Widget 时编译报错 起因最近产品要做一个Widget小组件,产品的要求必须安排。于是我新创建了一个OC项目,然后创建了一个Widget Extension。直接运行编译,发编译器报以下错误:ld: Assertion failed: (reconstituted == (accumulator - _options.machHeaderVmAddr())), function setFixup64, file OutputFile.cpp, line 2864.ld: Assertion failed: (reconst
iOS WebRTC 订阅流时不获取麦克风权限解决方案 起因在 APP 中用 OWT(Open WebRTC Tookit) 实现直播功能时,发现,只要加入到创建好的房间,订阅了房间中的流之后,就会获取用户的麦克风权限。这样对只是想看直播并不想上麦讲话的用户很不友好,我们想要的效果是,只有用户上麦时才去获取麦克风权限,其他时间不获取麦克风权限。原因翻阅源码发现,在WebRTC官方SDK中,如果为RTCPeerConnection添加了AudioTrack,WebRTC就会尝试去初始化音频的输入输出。Audio通道建立成功之后WebRTC会自动完成声音的采
iOS 15 部分第三方分享失败问题 起因iOS 15之后,有一天测试找过来说,钉钉分享点击后直接提示“分享失败”,从头查了分享的注册、相关账号都发现没有什么问题。原因查阅苹果官方文档发现:注意 iOS系统限制了配置的URL Scheme不可以超过50个。即info.plist文件中LSApplicationQueriesSchemes最多只能有50个,超出部分有可能不生效。尤其是Xcode13打包,iOS15.0及以上。后续后面经过测试又发现,QQ、QQ空间分享图片又失效了。查找QQ官方文档,是友盟文档中的白名单有问题,替换
OCLint + Infer + Jenkins + SonarQube 搭建iOS代码静态分析系统 随着代码量的日益增加,以及团队的扩大,当我们为了快速迭代,往往为了让需求尽快上线,导致代码并不是很规范,时间长了就留下了一堆技术债,代码的质量也没有了保证。所以开始尝试一些代码质量相关建设,希望能够通过代码静态扫描的方式,帮助我们扫描出一些代码漏洞,然后尝试去修复漏洞和bug。