iOS开发周报: Mac 和 iPad 暂无可能合并,证书过期事件官方解释

jopen 8年前

新闻

  1. 库克表示暂时不会考虑推出 Mac 和 iPad 的“融合”产品 :虽然 Apple 推出了大屏的 iPad Pro,以图在办公领域获取到更大的蛋糕,但是这并不意味着 Apple 打算像微软那样彻底混淆平板电脑和笔记本之间的界限。Apple CEO 库克最近在接受采访时表示,Apple 暂时不会考虑推出 Mac 和 iPad 的融合产品,因为那样的产品无法满足用户体验上的要求,而且 Apple 判断用户并没有在寻找一款那样的混合型产品。Surface Pro 系列在近年取得了一定成绩,最新系列的 Surface Pro 4 更是直接将 Macbook Air 作为竞争对手进行比较。另一方面,现在 iPad 性能日益强大,羸弱的 iOS 系统似乎已经逐渐成为制约其进一步发展的因素。我们期待 Apple 能在近期对这一矛盾作出改善。对于开发者来说,在未来一段时间我们还是需要专注于为不同平台提供合适的交互和体验。

  2. Apple 向开发者发送邮件,对 Mac App Store 证书过期问题进行解释和道歉 :Mac App Store 自 2011 年开业以来,一直承担了 OS X 上软件分发的重要角色。而像 Windows Store 等很多后来者,在用户体验和功能上也或多或少借鉴了 Mac App Store 的模式。上周,一些用户发现打开从 App Store 下载的 app 时会提示应用已经损坏,需要重新下载才能使用,这给广大用户造成了不小的麻烦。究其原因,是因为 Apple 之前升级了 App Store 的证书,而缓存在本地的证书到期导致了用户必须重启系统输入凭证以重新获取证书。但是新证书中使用了 SHA-2 算法,而不是之前的 SHA-1,这导致了一些使用早期版本的 OpenSSL 来做订单验证的 app 无法正确进行验证,继而无法启动。Apple 已经将证书回滚到使用 SHA-1,并向开发者发送了邮件进行解释和提醒,在邮件中 Apple 希望还在使用 SHA-1 的开发者能尽快进行升级。

  3. 阿黛尔拒绝将新专辑《25》上架包括 Apple Music 和 Spotify 在内的流媒体音乐服务 :阿黛尔的最新专辑《25》于上周正式发售,但是阿黛尔及其团队决定暂时不将这张专辑提供给流媒体服务。这也就是说,订阅了 Apple Music,Spotify 或者 Google Music 的用户将无法在第一时间听到这张专辑,而需要另行购买或者等待一段时间。作为回应,Apple 也拒绝了将《25》的实体 CD 放在 Apple Store 进行销售的请求。这可以说是传统音乐企业和唱片公司与数字音乐和流媒体服务的一次重要角力。流媒体音乐在最近几年取得了爆发式的发展,可以说已经威胁到唱 片公司和音乐人代理的生存空间。也许《25》的销售情况将会影响到未来几年音乐服务的形态和走势。

教程

  1. ReactiveCocoa vs RxSwift :Ash Furrow 是国外有名的开发者,从很早开始他就是 functional reactive programming (函数式响应编程,FRP) 的支持者和使用者。在这篇文章里作者并没有从技术的角度来对比 Reactive Cocoa 和 RxSwift 的异同或者优劣,而是从更高的层次向一个初次接触响应式编程的开发者提出了一些建议。使用哪种实现来实践响应式编程并不是重点,而重点应该是理解响应式的 思想。作者还很俏皮地给了一个随机按钮帮你选择应该使用的框架,如果你之前没有了解过响应式编程,可以试试看在下一个项目中使用一点相关内容,会是对你编 程思路的扩展。

  2. iOS Cookies :这个网站按照功能分类收录了一些 Swift 的开源框架。如果平时没有特别注意在 GitHub 进行收藏的话,可能在开发中想要寻找某个框架会比较困难。不过在这个站点里你可以根据功能来找到需要的框架,会很方便。如果你发现了优秀的 Swift 框架,也可以通过提交的方式来将它加进到这个站点。

  3. Offline UI testing on iOS with stubs :Xcode 7 为我们带来了 UI 测试框架,这篇文章使用 Stub 模拟网络的方式,把 UI 测试和网络的单元测试结合起来,为 app 的完整的业务逻辑流程测试提供了一种思路。相对于单一分割的单元测试和 UI 测试,这类方式将测试综合进行可能从理论上来说并不是很优秀,但是在工程中却可以比分割的测试更能保证项目质量,有其可取之处。

开源项目

  1. Perfect :Swift 暂时还没有开源,但是随着 2015 年邻近结束,相信这一 Big Day 离我们也不会太远了。Swift 开源后能想到的最直接的使用场景就是在 Linux 上进行服务端开发,现在也已经有不少开发者在这方面做了一些努力了。Perfect 就是一次基于 Swift 的服务器的尝试,它的目的是让我们可以同时在客户端和服务端使用 Swift 进行开发。现在这个项目还只支持 iOS 和 OS X,但是 Linux 的支持只缺一个开源编译器。随着 Swift 的开源,可以预见这样的跨平台项目会越来越多。

  2. SQLite.swift :一个 Swift 写的 SQLite3 驱动。 SQLite 以其轻量和快速著称,而 Swift 最大的特点之一是类型安全。这个框架在 SQLite 上添加了 Swift 语言层进行包装,试图将两者的优点进行结合。使用 SQLite.swift,你可以用类型安全的方式来对数据库进行访问和操作,这对保证软件质量和减少崩溃会很有意义。

  3. SFFocusViewLayout :自从 tvOS 问世以来,基于 Focus 的交互已经迅速成为国外 app 设计的关键字。虽然在 iOS 上,应为触控操作非常方便,使得 Focus 的存在感并不如像在 tvOS 上那么强,但是偶尔加入一点类似的要素,还是很新颖和吸引眼球的交互方式。这个框架实现了一个带有 focus 要素的 collection view,滚动到最上方的 cell 将显示更多的内容,并占据加大的位置,非常醒目。