BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

iOS开发周报:Apple Pay 在国内上线,Swift CI 和性能测试套件可用

| 作者 王巍 关注 0 他的粉丝 发布于 2016年2月23日. 估计阅读时间: 6 分钟 | ArchSummit北京2018 共同探讨机器学习、信息安全、微服务治理的关键点

新闻

  1. Apple Pay 在国内正式上线:2月17日,使用指纹识别和 NFC 通讯的支付服务 Apple Pay 正是在中国上线。这是 Apple Pay 继在美国、英国、加拿大和澳大利亚后登陆的第五个国家,也是首个非英语国家。Apple Pay 支持国内主要银行的大多数常用信用卡和借记卡,并且能在现有的所有支持“闪付”的 POS 机上使用,前景良好。另外,app 中的实体物品购买行为也可以使用 Apple Pay 进行支付,这对于电商和交易类的 app 来说,无疑是一个良好的机会。
  2. Tim Cook 发表公开信,揭露美国安全部门要求 iPhone 加装后门的行为:近日,Apple CEO Tim Cook 发表了一封致消费者的公开信,其中提到 Apple 拒绝了美国政府的一项要求,后者想让 Apple 在 iPhone 手机中植入后门,便于其在必要时解锁手机。Cook 表示 Apple 是一家尊重用户隐私和安全的企业,而政府的要求和相应的权利并没有办法得到有效监管,因此 Apple 将永远不会在这方面有所妥协。
  3. Swift 持续集成环境和性能测试套件开放:作为像是 Swift 这样的项目,没有高效的持续集成环境的保证的话,开发是难以维续的。Apple 公布了 Swift 的 CI 环境,之后所有向 Swift 项目提交的 pull request 都将得到 CI 的编译和测试保证。同时 Apple 还开放了性能测试的套件,用来保证新的版本中不会发生性能退化。

教程

  1. iOS冰与火之歌番外篇 - 在非越狱手机上进行App Hook:本文是 iOS 安全相关的系列文章中的一篇,为我们讲述了在非越狱的 iOS 上进行 App Hook 的一些方法。利用这个技术,你可以在非越狱的 iOS 系统上实现各种 hook 功能。文章以微信抢红包为例子,介绍了对一个 app 进行 hook 的基本方式。对于 iOS 系统安全有兴趣的朋友一定会对这篇文章很感兴趣。
  2. Apple Pay 入门:为了体现 Apple Pay 在中国市场的重要性,Apple 甚至专门官方地针对开发者用中文写了一篇 Apple Pay 入门文章。文中简要地介绍了支持 Apple Pay 所需要的开发流程和一些术语,可以作为 Apple Pay 开发的第一篇读物。在了解了基本流程后,再参照《Apple Pay 编程指南》进行开发时就能得心应手不少。
  3. Enhancing UIViews Using Extensions:Swift 的 extension 是用来扩展现有类的非常强大的特性,相比于创建一个子类,使用 extension 往往能更优雅地完成任务。这篇文章通过一个在 `UIView` 上使用 extension 来实现一个 label 动画的例子,展示了使用 extension 来在 UIKit 上进行功能扩展的方法。

开源项目

  1. Charter:Charter 是一个完整的 iOS app 开源项目,它可以让你在 iPhone 或者 iPad 设备上阅读 Swift 的邮件列表。app 本身并没有特别高的难度,但是使用了我们在之前周报中提到的 [ReSwift](https://github.com/ReSwift/ReSwift) 的方式来进行构建,是一个非常好的实际例子。
  2. SPTDataLoader:音乐服务商 Spotify 开源了他们自己开发和正在使用的网络请求框架。相比于其他一些网络框架,SPTDataLoader 更加轻量一些。它在 `NSURLSession` 层上加入了像是请求频率和重试限制,方便的用户验证,更好的与 view 层结合等实用特性。值得一提的是,SPTDataLoader 的版本更新会在 Spotify 上实际使用两周后再进行,因此框架可以说一定是经过大量检验的,相对也会更加稳定。
  3. Tactile:iOS 开发中对于手势的处理往往并不是十分优雅,整个流程大致可以分为定义手势,将其添加到视图上,并在回调中对手势的不同阶段进行处理等。这个流程带来的是大量的模板代码,并给我们阅读代码造成不少的噪声干扰。Tactile 试图简化手势处理的流程,框架定义了方便的语法,并使用很简单的方式来处理它们。
  4. URLNavigator:使用 URL Scheme 或者 Universal Link 来进行应用间或者应用内的跳转是 iOS 开发的常见需求。相比于在 AppDelegate 中以命令式的方式进行判断,使用声明式的方法预先对 URL 和它们的行为进行定义无疑是一种更高效的开发方式。URLNavigator 就是帮助你这样简化开发流程的框架,它定义了一个 URL 的调度中心,你可以很好地对接收到的 URL 跳转进行集中处理。

感谢徐川对本文的审校。

给InfoQ中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ@丁晓昀),微信(微信号:InfoQChina)关注我们,并与我们的编辑和其他读者朋友交流(欢迎加入InfoQ读者交流群InfoQ好读者(已满),InfoQ读者交流群(#2)InfoQ好读者)。

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT