文章目录
  1. 1. 版权说明
    1. 1.1. 前言
  2. 2. 新闻
  3. 3. 教程
  4. 4. 工具
  5. 5. 开源项目

版权说明

本文为 InfoQ 中文站特供稿件,首发地址为:文章链接。如需转载,请与 InfoQ 中文站联系。

前言

欢迎国内的iOS同行或技术作者向我提交周报线索,线索可以是新闻、教程、开发工具或开源项目,将相关文章的简介和链接在微博上发布并 @唐巧_boy 即可。

【摘要】:本期 iOS 移动开发周报带来如下内容:Apple Watch 产品体验报告、苹果推出了官方的分析工具、iOS 图形性能进阶与测试、iOS 应用架构谈等。

新闻

  1. 《Apple Watch 产品体验报告》:文章从各个维度对 Apple Watch 进行了体验总结,包括外观感受、交互设计、功能场景分析、差异化分析等。

  2. 《苹果推出了官方的分析工具》:苹果在五月一号这天,向开发者发送邮件,邀请参与他自家的分析工具的试用。从苹果的介绍中看出这个工具的特点是:无需额外操作,相关功能是直接集成进 iOS 系统中的,对应用来说没有任何其它的代价。另外由于苹果的限制,一些功能是第三方工具是无法提供的(例如统计运营活动效果、统计查看 AppStore 页面效果等)。苹果提供这样的工具,有助于开发者更加有效地开展市场推广和运营相关的工作。

教程

  1. 《Increasing Performance by Reducing Dynamic Dispatch》:来自苹果官方博客的文章,介绍了通过减少动态分发,来提高 Swift 程序的执行效率的办法。具体做法上,文章分享了使用 final 关键字,使用 private 关键字,以及使用 Whole Module Optimization 编译参数来进行深度优化。

  2. 《Mac OS X 上逆向 Dash v2.2.0 过程分析》:不知不觉,http://iosre.com/ 已经成为国内著名的 iOS 安全方面的网站了。本文在逆向 Dash 的同时,也揭露了 Dash 使用的防逆向手段,学习本文可以了解到常见的逆向攻击手段和防范方法(例如:二进制的校验),提高大家的安全意识。

  3. 《Scrapy+Flask+Mongodb+Swift 开发全攻略(1)》:本文试图实现一个人完成获得资源、编写服务端、iOS 客户端、服务端部署上线、客户端上 AppStore 的完整过程。其中,Flask 是 python 写的一个非常有名的 web 开发框架,Mongodb 是一个非关系型数据库。

  4. 《iOS 图形性能进阶与测试》:这篇文章主要是学习完 Advanced Graphics and Animations for iOS Apps 这个 session 后的总结和相应细节的延伸和细化。主要内容为图形性能与测试工具这两个章节。

  5. 《Auto Layout 使用心得(六)—— 制造炫酷的下拉刷新动画》:本文中,我们将一起使用 Auto Layout 技术制造一个炫酷的下拉刷新动画。Auto Layout 除了在布局的时候比较繁琐以外,还有一个经常被人吐槽的点:让许多 UIView.animateWithDuration 失效,甚至在界面上出现 “反方向动画” 的视觉效果。本文中我们将主要讲述制造下拉刷新动画的过程,关于 Auto Layout 与动画的详细配合我们以后再一起仔细探究。

  6. 《Apple Watch 和 iPhone 通信实践》:本文主要从实践的角度分析 iPhone 和 Watch 的通信框架。

  7. 《iOS 应用架构谈 - view 层的组织和调用方案》:文章比较长,介绍了涉及 view 的各方面的经验。分享作者最后的总结:要做一个 View 层架构,主要就是从以下三方面入手:制定良好的规范、选择好合适的模式(MVC、MVCS、MVVM、VIPER)、根据业务情况针对 ViewController 做好拆分,提供一些小工具方便开发。

  8. 《CocoaPods 建立私有仓库》:个人或公司在开发过程中,会积累很多可以复用的代码包,有些我们不想开源,又想像开源库一样在 CocoaPods 中管理它们,那么通过私有仓库来管理就很必要。文章介绍了建立私有仓库的具体操作方法。

  9. 《实时显示 iOS 的编写 UI 代码效果》:编写 iOS 应用 UI 的方式大概有两种,一种是 Storyboard/Xib,另一种是手写代码。采用 Storyboard/Xib 方式组织 UI,由于提供可视化的特性,只要从 UI 库中拖动 UI 控件,便可以显示结果,极大地提高开发速度。但面临一个问题就是多人协作开发,由于所有的 UI 都放在同一个 Storyboard 文件中,使用 Git/SVN 合并代码就会出现冲突。多人协作开发还不是主要问题,有人提出可以创建多个 Storyboard 来分开 UI 编写,而 Storyboard/Xib 最主要问题是代码复用性比较差。所以有些人就选择手写 UI 代码,这样不仅可以解决多人协作开发问题,而且通过自定义控件在多个 View 使用。但每次手写 UI 代码后都要编译、构建和运行,最后在模拟器显示,这样会拖慢开发速度。如果每次修改 UI 控件后,保存修改便实时在模拟器显示修改后结果,就可以极大的提高编写 UI 的速度。本文介绍了一种办法可以实时显示 iOS 编写的 UI 代码效果。

工具

  1. 《Which Clang Warning Is Generating This Message》:Clang 的警告与语义对照表。通过它可以更加方便地知道 Clang 的警告所表达的意思。

  2. PPEtcHosts:PPEtcHosts 是一个小工具,可以在应用内实现域名 Host 绑定,可以解决真机无法修改 /etc/hosts 的问题。

开源项目

  1. KYGooeyMenu:KYGooeyMenu 是一个具有 Gooey Effects 带粘性的扇形菜单控件。

  2. DKNightVersion:DKNightVersion 是一个支持夜间模式切换的框架。

  3. UITableView-FDTemplateLayoutCell:UITableView-FDTemplateLayoutCell 是一个方便缓存 UITableViewCell 的高度的框架。

  4. IOS-Categories:IOS-Categories 是一个收集各种有用的 Objective-C 语言的 Category 的项目。