iOS13 适配注意点

❌ KVC 获取私有属性 直接崩溃,比方说获取 SearchBar 的 TextField

​ 解决方案是做版本判断 iOS13 的 searchbar 新增了一个 searchTextField 属性

⚠️ Segement、SearchBar的样式变了,注意一下

​ for 循环查找子视图失效,改为 searchBar.searchTextField

❌ UIWebView 终极废弃,需要替换 WKWebView,不然 AppStore 审核是不通过的。
⚠️ 黑夜模式
⚠️ TextField:LeftView 如果是图片的话 会覆盖整个 TextField 解决办法是用一个 view 包裹一下图片作为 LeftView
https://www.jianshu.com/p/03e6b7828307

​ 微信分享强制使用。注册微信开放平台的时候 iOS的项目必须填这个。

⚠️ 模态出的页面,需要指定对应的弹出模式

​ 例如:UIModalPresentationOverFullScreen

​ 检查图片选择器?

❌ Tabbar的文字颜色
1
[tabbarItem setTitleTextAttributes:@{NSForegroundColorAttributeName:selectColor} forState:UIControlStateSelected];

​ 此方法在 iOS 13 会有 bug,当我们 push 到下一页再次返回时 tabbar 字体颜色设置会失效。

1
self.tabBar.tintColor = selectColor;
❌ 通过 NSURLSessionDataTask 下载文件流

​ 需要在头部指定接受的返回格式:application/octet-stream

❌ Cocoapods

​ 升级 CocoaPods 到 1.8.4 版本

​ 但是随即问题就来了, 执行 pod install 下载库时,出现错误

1
[!] CDN: trunk URL couldn't be downloaded: https://cdn.cocoapods.org/all_pods_versions_a_7_5.txt, error: execution expired

后来查了半天资料, 最终在 github CocoaPods issues 找到解决方案:在 Podfile 加上 source https://github.com/CocoaPods/Specs.git 不使用新版本的 CDN