新闻
- Apple 更新 HomeKit 页面:Apple 于去年 6 月的 WWDC 开发者大会上公布了全新的智能家居应用 ,现在,官网上列出了目前支持 HomeKit 的智能家居配件。这些列出的智能家居产品中,大部分包含跳转链接,可直接前往产品官网或者 Apple 在线商店购买。 HomeKit accessories 页面按照产品类别进行了分类,包括灯、开关、插座、窗户、门锁、安全监控相机等,点击分类图标即可快速浏览对应产品。
- Apple 发布了 iOS 10.3 beta 6 版本:10.3 版本添加了 Find My AirPods ,并使用了 APFS 文件管理系统。
教程
- iOS 管理对象内存的数据结构以及操作算法–SideTables、RefcountMap、weak_table_t :通过阅读本文你可以了解 iOS 管理对象内存的数据结构是什么样的,以及操作逻辑。对象的 reatin 、 release 、 dealloc 操作是该通过怎样的算法实现的, weak 指针是如何自动变 nil 的。
- iOS App 签名的原理:iOS 签名机制相对复杂,各种证书,Provisioning Profile,entitlements,CertificateSigningRequest,p12,AppID,概念一堆,也很容易出错,本文尝试从原理出发,一步步推出为什么会有这么多概念,希望能有助于理解 iOS App 签名的原理和流程。
- 闲谈 iOS 的动态化:本文不聊具体的技术内容,而最近一些应用收到 Apple 警告的问题。提示该应用使用了一些动态技术,让应用在审核之后出现一些不一样的功能,从而越过审核去实现更新,警告开发者对代码进行一些检查,去掉这样的实现。实际上这是一个历史悠久,错综复杂,没有一个统一标准的事情。聊这个事情要从一个很古老的 Wax 项目开始讨论 Native 动态化的事情。
- 关于 @synchronized 比你想知道的还多:如果你曾经使用 Objective-C 做过并发编程,那你肯定见过 @synchronized 。@synchronized 发挥了和锁一样的作用:它避免了多个线程同时执行同一段代码。和使用 NSLock 进行创建锁、加锁、解锁相比,在某些情况下 @synchronized 会更方便、更易读。如果你从来没有使用过 @synchronized ,具体如何使用可以参考下面的实例。本文的将围绕我对 @synchronized 的原理的探究进行讲述。
- RxExample GitHubSearchRepositories :在 iOS 中,我们该如何处理网络请求状态、如何管理分页逻辑以及如何处理网络错误,RxSwift 给出了一个官方的例子 GitHubSearchRepositories ,本文对这个例子代码进行了详细的解释。
开源项目
- GodEye :全自动,零代码入侵,一行代码接入来监控应用的日志,卡顿,崩溃,网络,内存泄漏,CPU 以及内存使用率,帧率等信息工具。
- PPRows :一直忙于写代码,不如试试这款开源工具统计一下写了多少行代码。
- Nori :将样式代码代码应用到 Storyboard 组件。
- SwipeCellKit :提供 Cell 丰富左右滑动功能,支持自定义效果。
- panelkit :在 iOS 上提供面板功能,即支持多个窗口操作。
感谢徐川对本文的审校。
给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ , @丁晓昀),微信(微信号: InfoQChina )关注我们。
评论