iOS 开发周报:App Store 充值卡已在中国面市、结合 CocoaPods 和 Carthage 的新手段

  • 靛青K

2017 年 1 月 19 日

话题:iOS语言 & 开发架构

新闻

  1. App Store 充值卡已在中国面市:Apple 正式宣布 App Store 充值卡今天已在中国面市,自 1 月 16 日起,用户可通过名为App Store 充值卡的指定微信公众号选购充值卡并将其赠予亲朋好友,或通过天猫或京东上的 App Store 充值卡旗舰店进行购买。实体卡也将于 16 日起在 7-Eleven、罗森便利店、美宜佳便利店、百联集团、红旗便利店、十足便利店以及部分 Apple 优质经销商等零售商处开放购买。每张充值卡都可用于 App Store 购买或通过多种设备订阅 Apple Music。
  2. AirPods 畅销,迅速占据最大线上市场份额:调查机构 Slice Intelligence 的报告显示,在 AirPods 发售之后,迅速成为占据美国市场份额最大的无线耳机产品,其市场份额高达 26%,第二名 Bose 的份额为 16.1%。PS.Apple 发布 AirPods 怎么都不会掉的广告,你可以在 YouTube 中观看。

教程

  1. I have a pod, I have a carthage, En…:使用 Swift + CocoaPods 开发时,避免不了 clean 后,重新编译 Pods 中文件的过程,本文介绍了一种使用 CocoaPods 中 prepare_command 直接编译成 framework 的方案。
  2. iOS 代码设计中的开放与封闭:为什么 Swift 中存在 Optional ?我们至今所写的 iOS 代码都是遵循 OOP 这种编程范式,以对象来临摹和表达我们对于世界的理解。在设计类的时候,恪守 SOLID 五个原则会让我们的代码更易拓展和维护。SOLID 中的 O 代表的是 Open/closed principle,这篇文章所要探讨的不仅仅是类设计中的 Open 和 Closed,而是要站在更广阔的视角来看待代码中的开放与封闭。
  3. Swift 3 and Comparing Optionals:Swift 3 中移除了对 Optional 的比较符号,本文介绍了为什么 Swift 3 移除了这些符号以及其移除后的写法。
  4. KVC 和 KVO:Key-value coding (KVC) 和 key-value observing (KVO) 是两种能让我们驾驭 Objective-C 动态特性并简化代码的机制。本文介绍了一些利用这些特性的例子。
  5. Objective-C 中 nullable、__nullable、_Nullable 的区别:在 Swift 中,我们会使用 ? 和 ! 去显式声明一个对象或者方法的参数是 optional 还是 non-optional,而在 Objective-C 中则没有这一区分,这样就会带来一个问题:在 Swift 与 Objective-C 混编时,Swift 编译器并不知道一个 Objective-C 对象或者一个方法的参数到底是 optional 还是 non-optional,因此这种情况下编译器会隐式地都当成是 non-optional 来处理。本文介绍了 Apple 给的出的相应解决方案。

开源项目

  1. LLVMSwift:对 LLVM C API 封装的 Swift 框架。
  2. Mustard:字符串解析框架。
  3. Hedwig:跨平台 SMTP 邮件框架。
  4. JSQDataSourcesKit:更清晰地管理UITableViewUICollectionView数据源框架。
  5. Stellar:支持链式调用的动画框架,基于 UIDynamic

感谢徐川对本文的审校。

给 InfoQ 中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ@丁晓昀),微信(微信号:InfoQChina)关注我们。

iOS语言 & 开发架构