新一代 iPhone 可能为进一步降低机身厚度而取消耳机插口,改用 Lightning 接口。iPhone 6c 传言,2016 年可能迎来两次 iPhone 发布会。
新闻
- 新一代 iPhone 可能取消耳机插口,改用 Lightning 接口:虽然距离下一代 iPhone 发售还遥遥无期,但是最近已经有关于这款 “iPhone 7” 的一些传言了。据称新一代 iPhone 为了进一步降低机身厚度,将淘汰掉现在事实的耳机行业标准的 3.5mm 耳机几口。耳机接口成为机身厚度的瓶颈已经有一段时间了,但是鉴于市面设备的支持,手机产商往往只能做妥协。Apple 在很早以前就考虑过 2.5mm 的耳机插口,但是去年 Apple 推出的 Lightning 接口的耳机标准似乎暗示着 Apple 可能在今后的设备中更倾向于使用类似的技术。
- Apple 可能在 2016 年推出 4-inch 手机升级版 iPhone 6c:在早些时候,有传言表示 Apple 正在考虑在保持近来的大屏手机的趋势的同时,推出一款小屏幕手机的升级版。最近,有媒体给出了更新的消息。这款设备很可能被命名为 iPhone 6c,它将继承 iPhone 5s 的包括设备尺寸和主要功能在内的特性,并且进行硬件上的升级,以提供给那些更倾向于选择屏幕小一点的用户。这款设备有可能会在 2016 年上半年发布,而在下半年,将会按惯例发布新的旗舰机型。如果这个消息成真,那么它将会改变 iPhone 每年一次发布的传统。
- Facebook 推出 tvOS 版 SDK:随着新一代 Apple TV 的热销,以及 Apple 对 Apple TV App Store 的搜索算法的调整和分类目录的开放,现在 Apple TV 开发在国外可以说是相当火热。但是 tvOS 上一个比较大的限制就是不允许使用 WebView 来直接显示 web 的内容,而使用 Apple TV 的键盘输入体验又非常糟糕。这在很多时候,限制了像是注册或者登陆的用户体验。Facebook 本周发布了专门针对 tvOS 的 SDK,其中 “使用 Facebook 登陆” 功能专门针对 tvOS 进行了优化。用户可以使用手边的其他设备来进行登录,而不需要直接在电视上进行输入,这可能也会是今后 tvOS 应用的标准的登陆方式。
教程
- tvOS视差按钮的ObjC实现:在之前的周报中我们提到了一个 Swift 实现的在 iOS 上模拟 tvOS 的视差按钮效果的框架,这篇文章介绍的是使用 Objective-C 来进行的另一种实现。文章详细介绍了实现视差效果的思路和具体的方法,以及其中遇到的问题,值得一读。
- Optimizing Facebook for iOS start time:应用的启动速度在用户体验中是非常重要的环节。如果应用启动迅速平滑的话,往往可以给用户留下很好的第一印象;而反之如果首次启动就要花费很长时间的话,也许你的应用就不会有第二次被打开的机会了。这篇来自 Facebook 工程师的文章介绍了一些优化启动时间的方案和需要注意的事项。
- iOS Unit Testing: Dependency Injection with Structs in Swift:依赖注入是一种常用的测试手段,在别的语言中,使用依赖注入通常需要通过子类化来完成。而事实上,Swift 编程更倾向于使用值类型,这在一定程度上和子类或者继承的概念是相违背的。不过如果我们通过使用面向 protocol 来进行构建的方式的话,就可以很容易地为值类型进行依赖注入测试了。这篇文章就为我们阐述了这方面的一些知识。
- fastlane Tutorial: Getting Started:持续集成 (CI) 一直是企业开发中重要的一环。良好的 CI 不仅可以降低程序中的缺陷,也有利于让开发者愉快地工作和准时递交优质的代码产品。但是配置一个 CI 环境往往本身也很具有挑战。fastlane 是一系列开源的脚本组件,可以帮助我们迅速方便地建立自动化的测试,打包甚至提交流程。这篇教程通过实例讲解了使用 fastlane 的初步。
开源项目
- netfox:一个可以在应用内监视所有网络请求和返回结果的调试用的框架。通过在项目中加入这个框架并启动后,所有的网络请求都将被记录并且可以被查看。在以往我们可能都需要依赖 Mac 上的网络代理来进行监视,在构建调试或者测试的应用时使用这个框架可以让我们免于配置和连接电脑的步骤,直接在项目中监视这些网络请求,十分方便。项目使用 Swift 2.1 进行构建的,但是你也可以在 Objective-C 的项目中使用这个框架。
- AutocompleteField:为你的输入框添加自动补全功能的框架。通过设置备选列表,用户在输入时便可以得到满足前缀的词条的自动补全功能。虽然功能上比较简单,但是可以带来非常愉悦的用户体验。如果你的应用中有一些可以预测的用户输入,那么使用这个框架来为你的用户节省时间,这也会为应用带来不少好评。
- ALCameraViewController:一个 Swift 写的用来引导用户通过摄像头或者是本地相册获取照片并进行裁剪的框架。获取照片并裁剪是在用户设置头像或者是上传照片时的必备需求,通常我们需要经过验证/请求权限,判断用户设备可用性,然后再进行摄制和裁剪。虽说整个过程和逻辑并不复杂,但是也要花费不少时间来编码和测试。这个框架为我们提供了一个“开袋即食”的解决方案,可以作为这个特性的参考或者备选实现方式。