iOS移动开发周报-第37期

jopen 9年前

原文  http://blog.devtang.com/blog/2015/01/31/ios-weekly-37/

版权说明

本文为InfoQ中文站特供稿件,地址是 这里 。如需转载,请与InfoQ中文站联系。

前言

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

本期 iOS 移动开发周报带来如下内容:iOS大V的技术进阶之路、ARC 对 self 的内存管理、Method Swizzling 和 AOP 实践、使用 iMovie 和 Keynote 制作 App Preview等。

新闻

  1. 《唐巧访谈: iOS大V的技术进阶之路》 :文章来自于 CocoaChina 的访谈,采访对象是唐巧,他的新书 《iOS开发进阶》 已经和大家见面.采访中唐巧表达了他对于技术学习、建设技术影响力等方面的经验和看法。

  2. 《Moke 2014 以及 1 元应用效应》 :Moke 作者分享了他的应用在 2014 年的销售额以及他对于 1 元应用的看法。

  3. 《王巍访谈:关于 Swift 学习和 AppleWatch 开发的一些建议》 :文章来自于 CocoaChina 的访谈,采访对象是王巍,微博 ID“onevcat”,圈儿内人称喵神,知名 iOS/Unity 开发者,现居日本,就职于 LINE。喵神是 objc 中国 项目发起人,开源过广受开发者喜爱的 Xcode 插件 VVDocumenter,主创或参与开发《姬骑士和最后的百龙战争》、《英雄 Slash》、《冒险谜题王国》以及《小熊推金币》等多款游戏,个人应用代表有《番茄工作法》(Pomodoro Do) 和《云端记账》(Our Money)。

  4. 《2014 年 Oh My Star 总结》 :Oh My Star 是一款由国人@Sumi-iYu 开发的管理 Github 上 star 项目的工具。笔者使用过,对于 star 功能的重度用户来说,非常好用。本文分享了作者在开发该软件的过程以及收货。

教程

  1. 《ARC 对 self 的内存管理》 :文章从 YTKNetwork 的几行代码出发,讨论了 LLVM 编译器在传递 self 参数时,对 self 的引用计数的特殊处理。

  2. 《AutoLayout 布局技巧-等宽子视图》 :所谓等宽子视图,也就是对一个有 n 个子视图的父视图来说,无论父视图的宽度怎么变化,所有子视图的宽度是相等的。文章介绍了这一类排版需求的 AutoLayout 布局技巧。

  3. 《Objective-C Runtime》 :Objective-C 是一个动态语言,这意味着它不仅需要一个编译器,也需要一个运行时系统来动态得创建类和对象、进行消息传递和转发。理解 Objective-C 的 Runtime 机制可以帮我们更好的了解这个语言,适当的时候还能对语言进行扩展,从系统层面解决项目中的一些设计或技术问题。本文讲解了 Runtime 的核心 – 消息传递 (Messaging)。

  4. 《Method Swizzling 和 AOP 实践》 :利用 Objective-C 的 Runtime 特性,我们可以给语言做扩展,帮助解决项目开发中的一些设计和技术问题。这一篇,我们来探索一些利用 Objective-C Runtime 的黑色技巧。这些技巧中最具争议的或许就是 Method Swizzling 。文本介绍了利用 Method Swizzling,结合 AOP 来做一些打 Log 的工作。利用 objective-C Runtime 特性和 Aspect Oriented Programming ,我们可以把琐碎事务的逻辑从主逻辑中分离出来,作为单独的模块。它是对面向对象编程模式的一个补充。

  5. 《CocoaPods 最佳实践探讨》 :作者在文章中表达了对目前常见的 CocoaPods 使用方法的意见。希望大家根据自己的经验,一起讨论出一份真正的 “最佳实践”。

  6. 《使用 iMovie 和 Keynote 制作 App Preview》 :App Preview 就是一段 15-30 秒的短视频,用来展示你的应用的特性、用户界面、交互方式等内容。在 App Store 你的应用的详细信息页面里,放在原来的截图之前。体验上会比截图更有冲击力,也能够表现更多的东西。茫茫的 App 海洋之中,如何脱颖而出,卖相至关重要。本文作者分享了他使用 iMovie 和 Keynote 制作 App Preview 的经验,并且提供了相关的效果视频和 Keynote 源文件。

  7. 《要你命三千:老代码中的那些坑》 : 最近在给以前的老项目维护,说起来工作很简单,一个字:改 Bug。这看起来平淡无常的工作,实际上凶险无比,藏坑无数。时至今日,感觉整个人都得到了升华。在睡觉前抽空写篇博客,和各位分享一下踩坑经历,一起品味其中的种种酸苦辣 (没甜)。

  8. 《Unit Testing in Swift: Dependency Injection》 :文章介绍了在 Swift 实现的单元测试中实现依赖注入,不过实际写起来还是比较麻烦。

工具

  1. ship.io :ship.io 是一个持续集成服务。现在所有套餐免费,支持 Xcode 6.1.1。

  2. Crowdin : Crowdin 是一个多语言翻译服务。可以便于开发者将应用改成支持多语言。类似的服务还有: Transifex

开源项目

  1. BreakOutToRefresh :BreakOutToRefresh 是一个有趣的项目,它利用 SpriteKit 在下拉刷新过程中做了一个打砖块游戏。

  2. RAMAnimatedTabBarController :RAMAnimatedTabBarController 是一个让 TabBar 上的元素能够显示动画效果的开源库。

</div>