写点什么

iOS 开发周报:iOS 8.4.1 发布,iOS 8 时代谢幕

  • 2015-08-18
  • 本文字数:2008 字

    阅读完需:约 7 分钟

新闻

  1. Apple 发布 iOS 8.4.1 :本周 Apple 发布了新的系统补丁,主要修正了一些 Apple Music 的问题,以及修复了一些安全隐患。如果不出意外的话,这将是 iOS 8 时代的最后一个补丁。在这一年内,Apple 在 iPhone 上的销售取得了巨大的成功,大屏幕的 iPhone 再一次激活了市场,也成功地将一些原来的大屏安卓用户转化为了 iOS 用户。在系统方面,现在已经有 85% 的设备在运行 iOS 8,可以说 iOS 8 取得了巨大的成功。作为继任者的 iOS 9 即将在秋天和新一代 iPhone 一起发布,让我们开始期待新系统的特性给我们的开发和生活带来的改变吧。
  2. 自动驾驶汽车?Apple Car?:有资料显示,Apple 正在湾区和硅谷测试一款无人驾驶的汽车,这让人不禁浮想联翩,莫非这会是 Apple Car 或者 iCar 的原型?早有传言说 Apple 有意进军汽车行业,但是到现在为止,我们只看到了 Apple 和汽车厂商合作推出的 CarPlay - 一个能让你配合你的汽车使用 iPhone 的桥接方案。在 Google,特斯拉,以及一些其他科技厂商都在不断尝试在汽车这一传统领域做些什么的时候,我们也有理由相信 Apple 可能也会有所动作。如果这属实的话,我们至少接下来应该还能听到不少关于 Apple Car 的消息,让我们拭目以待吧。

教程

  1. Cloud​Kit :NSHipster 的一篇文章的中文译文。如果想自己独立制作应用,有时可能需要写一些后端代码。即使对于能够胜任这项工作的移动开发者而言,这不仅意味着要写代码,更多的是长期维护。相比于直接自己书写后端代码,我们可能更倾向于选择一些现有的服务, Parse LeanCloud 就是不错的选择。而从 iOS 8 开始我们现在可以使用 Cloud Kit 框架来作为 app 的后台支持。这篇文章讲述了一些 CloudKit 的基础知识和使用,可以带领你入门这个框架。
  2. Don’t let your UIViewController think for itself :为 ViewController 瘦身一直是 iOS 开发中的一个热门话题,可以毫不夸张地说,看一个项目水平如何,是否具有优良的可维护性,一个重要的指标就是看项目中 View Controller 的复杂程度和代码行数。如果我们能有效地减少 View Controller 的复杂度,就意味着 app 的实现逻辑会更加清晰,项目可维护性也会更好。作者通过一系列文章介绍了良好的 View Controller 的设计方法,这是其中的一篇,主要基于 MVVM 的模式对 View Controller 的实现和新功能的追加进行了一些讨论。
  3. Rich Text, Core Text :在 iOS 上,我们可以使用 Core Text 来处理富文本和排版的需求,但是这个框架并不是非常直观,而且有不少小技巧和需要注意的地方。这篇文章介绍了一些 Core Data 的最佳实践和注意事项,如果你在和 Core Text 打交道的话,推荐阅读。

开源项目

  1. SIFloatingCollection :一个很有意思的项目,它尝试仿照实现了 Apple Music 里风格选择的界面。相比于使用 UIKit,这个项目可以说是另辟蹊径,使用了 SpriteKit 来进行制作和模拟,因此我们也可以很轻易地使用我们自己的形状来重用这个库,以满足设计要求。虽然不能说这个实现十全十美,但是这确实给我们在实现一些动画效果时提供了新的思路,除了 UIKitUIDynamic 以外,我们还可以直接用像是 SpriteKitbox2d 这样的东西来进行创作。
  2. Parse-SDK-iOS-OSX :著名的 BaaS 公司 Parse 最近开源了它们的 iOS/OSX SDK。Parse 的服务虽然在国内可能访问速度不是很理想,但是它们在服务的稳定性和 SDK 质量上一直有非常优异的表现。此次开源的 SDK 对于日常工作是 SDK 开发的开发者来说,是一个难得的学习机会。Parse 的存取操作涉及到很多多线程的问题,从 Parse SDK 的源代码中可以看出,这个 SDK 的开发者对 iOS 开发多线程有着非常深厚的理解和功底,让人叹服。我个人推荐对此感兴趣的朋友可以尝试从阅读 internal 文件夹下的两个EventuallyQueue 文件开始着手,研究下 Parse 的底层多线程处理思路。
  3. Loggerithm :一个在 Swift 中更好地输出 log 的工具。可能并不是所有人都知道,我们在 Swift 中最常用的 println 只会在 Debug 下进行输出,如果我们希望在 Release 版本中留下些什么有用的信息 (比如之后进行调试或确定 bug 时可能会需要) 的话,我们还是只能使用 NSLog 才能在系统 log 文件中进行写入。使用这个项目提供的 API 进行输出的话,可以让我们能无缝地在 Debug 和 Release 时使用合适的输出方式;另外,这个框架提供分级输出,配合 XcodeColors 的话还可以直接在控制台将不同级别的输出用不同的颜色标记出来,看起来十分方便直观。
  4. Koloda :Swift 实现的很漂亮的卡片界面和动画效果,对于一些基于卡片的 app 来说,可能是非常好的界面参考。框架的开发者选择了和 UITableView 以及 UICollectionView 类似的 API,因此使用起来也非常方便。

感谢徐川对本文的审校。

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

2015-08-18 08:245634
用户头像

发布了 59 篇内容, 共 21.5 次阅读, 收获喜欢 4 次。

关注

评论

发布
暂无评论
发现更多内容

面试官太难伺候?一个try-catch问出这么多花样

阿Q说代码

效率 字节码指令 1月月更 try-catch finally-return

Android C++系列:JNI中的Handler--ALooper

轻口味

c++ android jni 1月月更

深度评测丨GaussDB(for Redis)大Key操作的影响

华为云开发者联盟

redis 运维 GaussDB(for Redis) 大Key KV查询

从 Gitee 到极狐GitLab 的迁移指南

极狐GitLab

迁移 gitee 极狐GitLab

专访深职院XR专家 | 实时云渲染赋能虚拟仿真实训,打造5G+XR智慧教育平台

3DCAT实时渲染

教育 XR VR/AR 云渲染 元宇宙

华为云FusionInsight连续三次获得第一 加速释放数据要素价值

数据湖洞见

大数据 FusionInsight 华为云

告警关联中的频繁项集挖掘问题

云智慧AIOps社区

算法 智能运维 智能告警 人工智能「 云智慧

OpenCloudOS开源操作系统社区迎来首个正式版本

科技热闻

把复杂交给我们,把简单还给你丨TiVP 让 SQL 执行计划可视化

PingCAP

小程序开发中使用 JS

Speedoooo

请求管理 | 洞态 IAST 在好大夫 SDL 中的最佳实践

火线安全

信息安全 SDL DevSecOps

凡泰极客荣获2021 InfoQ“最佳技术产品营销奖”

FinClip

InfoQ

Hive SQL语句的正确执行顺序

五分钟学大数据

1月月更

2022年1月国产数据库排行榜:TiDB霸榜两年势头不减,openGauss与OceanBase分数大涨

墨天轮

数据库 opengauss TiDB 国产数据库

投票开始 | 和你一起见证龙蜥社区年度优秀开发者的诞生

OpenAnolis小助手

开源 开发者 活动 社群 比赛

使用 Lambda 表达式实现超强的排序功能

CRMEB

Flink 流批一体平台 StreamX 1.2.1 正式发布

ApacheStreamPark

spark FlinkSQL 流批一体 Flink 平台 一站式平台

V7.1:新字段“嵌入”,实现自定义元素交互

明道云

拍乐云发布互动白板2.0,首创超高清文档演示和滚动浏览

拍乐云Pano

WebRTC RTC opengl

企业微信业务架构分析

Geek_1b4338

#架构实战营

征集用户| 填写 2022 Apache Pulsar 用户调查问卷,抽取丰厚礼品

Apache Pulsar

开源 云原生 中间件 Apache Pulsar 社区

重新学架构之微信业务与学生管理系统

陈华英

「架构实战营」

多方计算时,每次结果竟然都存在着巨大隐患,此文告诉你可以这样解决!

华为云开发者联盟

安全 多方计算 数据保护 华为云tics服务 差分隐私算法

Hive底层数据存储格式详解

五分钟学大数据

hive 1月月更

品高股份加入,龙蜥社区迎来又一家云计算厂商

OpenAnolis小助手

Linux 开源

做了这么多年架构师,我终于理解了什么是架构设计

博文视点Broadview

面试突击19:为什么ConcurrentHashMap不允许插入null值?

王磊

鸿蒙轻内核源码分析:虚拟文件系统VFS

华为云开发者联盟

鸿蒙 文件系统 鸿蒙轻内核源码 虚拟文件系统VFS 虚拟文件系统

网易Go语言通用开发框架-Ngo开源啦

月读

golang Go 语言 开源治理 开源中国

CWE视图层级关系解析:节点关系查询

华为云开发者联盟

软件开发 cwe 软件缺陷 CWE视图层级关系 节点关系

模块一作业

Geek_ec866b

架构实战营

iOS开发周报:iOS 8.4.1 发布,iOS 8 时代谢幕_移动_王巍_InfoQ精选文章