iOS开发月报#11|201905
- 03 Jun, 2019
这里记录过去一个月,我看到的值得分享的内容,包含但不限于iOS知识,每个月的最后一天发布。 欢迎推荐内容,可以前往zhangferry/iOSMonthlyReport提交issue。
Tips
对UISearchBar样式的修改
1、完成一次搜索之后,调用
searchBar.resignFirstResponder()
隐藏键盘,会将
searchBar的取消按钮默认置为disEnable
。如果我们需要此时能够监听取消按钮的点击状态,需要恢复其可用状态:
if let cancelButton = searchBar.value(forKey: "cancelButton") as? UIButton
cancelButton.isEnabled = true
}
2、修改取消按钮的文案
//修改searchbar的取消按钮文案
searchBar.setValue("delete", forKey: "cancelButtonText")
3、更改取消按钮文案样式
UIBarButtonItem.appearance(whenContainedInInstancesOf: [UISearchBar.self])
.setTitleTextAttributes([NSAttributedString.Key.font: UIFont.systemFont(ofSize: 15)], for: .normal)
4、更改searchBar文本框文字样式
UITextField.appearance(whenContainedInInstancesOf: [UISearchBar.self])
.defaultTextAttributes = [NSAttributedString.Key.font: UIFont.systemFont(ofSize: 15)]
上传IAP时出现TCP 443问题
具体错误为:
Communication error. Please use diagnostic mode to check connectivity. You need to have outbound access to TCP port 443.
这是由于代理问题引起的上传错误,上传IAP至App Store Connect不需要代理,关掉代理继续上传就可以了。
上传IAP时出现:WARNING ITMS-90176
完整错误为:
WARNING ITMS-90176: “Unrecognized Locale - The locale names used in localization directories at ( “Payload/sandbox.app/AccountKitStrings.bundle/Resources/cb_IQ.lproj” ) are invalid. iTunes supports BCP47 but not the UN M.49 specification. Refer to the Language and Locale Designations guide at https://developer.apple.com/library/content/documentation/MacOSX/Conceptual/BPInternational/LanguageandLocaleIDs/LanguageandLocaleIDs.html for more information on naming your language-specific directories.”
该错误是由Xcode9不再兼容cb_IQ.lproj
这个格式,所以只要一出AccountKitStrings.bundle
中的cb_IQ.lproj
文件即可。
推荐阅读
Core Image 之自定义 Filter~
非常详细的介绍Core Image
中Filter
(滤镜)涉及的概念和使用方法。
作者是美图的iOS开发工程师,博客多讲解图像处理相关知识,是iOS图像领域的大牛,推荐关注。
iOS图形处理概论:OpenGL ES,Metal,Core Graphics,Core Image,GPUImage,OpenCV等
对于刚接触iOS图形相关框架的小白,有一些图形框架在字面上和功能上非常容易混淆。这里旨在总结一下各种框架,区分它们的概念和功能,以作日后进一步细分学习的指引。
Swift 5 字符串插值之美
Swift5除了ABI稳定并没有带来很多语法上的变化,你如果以为Swift5只有ABI稳定那你就错了,它还带来了一个很强的特性---字符串插值。一开始我还以为它是一个小特性,但是当我把它和AttributedStrings
, sql
联系到一块时,我才发现他的强大之处!
还有一篇将字符串插值应用到AttributedStrings
上的文章: StringInterpolation in Swift 5 — AttributedStrings
如何选择开源许可证
关于几种常见开源许可证的区别:
Github
Python-100-Days
Python - 100天从新手到大师。 作为一线移动端开发,或多或少都有着一个全栈的目标,而作为后端语言的Python无疑是最佳选择。一个star数多达3w+的Python教学项目,这足以说明Python的受欢迎程度,这份教程的受欢迎程度。
markdown-weixin
一个在线将 Markdown 转换为微信公众帐号文章格式的工具。 http://md.qikqiak.com/
AssetsExtractor
『Assets提取工具』是一款OSX平台上用于将Assets.car或xxx.app中打包的png图片、pdf等资源重新提取出来的开发者工具。Assets.car常见于iOS/Mac/Unity等开发中的资源打包。
awesome-ios-bluetooth
一个收集开发iOS蓝牙功能资料的仓库。从入门必读、蓝牙升级、ANCS、调试工具都有介绍。目前该库由我维护,大家有什么蓝牙相关的问题可以提issue给我。
firefox-ios
火狐浏览器的iOS开源库,由Swift4.2编写。是一个优秀的可供参考学习的开源项目。