写点什么

iOS 开发周报:WWDC 16 会议结束,四大平台新系统推出;Apple 解释暂不开发 Android 版 iMessage 的原因

  • 2016-06-23
  • 本文字数:1854 字

    阅读完需:约 6 分钟

新闻

  1. WWDC 16 会议结束,四大平台新系统推出,Apple 生态继续完善:WWDC 16 已经于上周结束,在 Keynote 上,Apple 发布了 iOS,macOS,watchOS 和 tvOS 四个系统的新版本。在新版本的 iOS SDK 中,新加入了 SiriKit 和一系列 extension 相关的 API。另外,开发者工具,现存的 API 的改进和 Swift 语言的新版本的特性也在开发者大会中有所提及。和以往一样,Apple 也在第一时间提供了会议所有 session 的视频,如果您想要了解更多关于 WWDC 16 的内容,可以前往视频页面进行查看。
  2. Apple 表示暂时没有开发 Android 版 iMessage 应用的计划:在 WWDC 上,新版本 iOS 的一大亮眼功能就是信息应用的全面加强。现在用户可以在信息应用中输入贴纸,使用全屏效特效等,而第三方开发者也能够通过扩展的方式来创建 iMessage app,来强化和提供官方应用所不具备的功能。而对于一款 IM 应用来说,Android 系统的市场份额是不可忽视的。Apple 表示考虑到用户隐私和机器学习等因素,暂时不可能在 Android 平台推出信息应用。也就是说,官方的信息应用可能在今后一段时间内都还是会处于尴尬和边缘的状态。
  3. ATS 限制将被加强,明年起将不允许未采用 HTTPS 协议的应用随意上架:App Transport Security (ATS) 是 Apple 在 WWDC 15 时提出的网络安全相关的规定,它限定应用只能通过 HTTPS 的方式访问网络资源,提高了安全性。在本周 WWDC 的网络安全相关 session 中,Apple 表示将收紧限制,从明年起,开发者将不能再随意通过设置来绕开 HTTPS 的限制了。如果你的应用需要访问 HTTP 的未加密网络,需要在审核时提出合理的理由。关于这方面的详细内容,可以参看这篇文章中的描述。

教程

  1. 开发者所需要知道的 iOS 10 SDK 新特性:一篇对于 iOS 10 中开发者所需要知道的新特性的概述类文章,对 iOS 的发展方向进行了简单的展望。对于不同的开发者来说,WWDC 16 中他们所感兴趣的点可能会有所不同,这篇文章中总结了可能是所有 iOS 开发者在新的 SDK 中都普遍感兴趣的一些方面,如果你没有时间完整地研究所有 session,可以参考这个总结来寻找你的兴趣点。
  2. UITableview Tip :`UITableView` 是每个 iOS 开发者都会用到的,也可能是最常用到的组件之一。这篇文章先探索了 `UITableView` 背后的一些工作方式的细节,并在此基础上展开,为我们介绍了一些优化 `UITableView` 时的技巧。通过合理的配置和巧妙的优化,用户界面可以达到非常高效的状态。另外,今年 WWDC 也专门针对 `UITableView` 和 `UICollection` 的优化问题有个 session ,想继续深入的读者不妨看看视频,一探究竟。
  3. Call Directory Extension 初探:CallKit 是 iOS 10 引入的新框架,它可以用来实现提供 VoIP 的无缝拨打和现实,以及来电显示和拦截等功能。本文带领读者简单探索了使用 CallKit 来创建来电拦截的部分 API,整个使用相对来说比较简单,所以相关 API 也没有很大难度。
  4. GUI Architectures :iOS 应用开发中,用户界面的开发以及他它与应用其他部分如何连接和交互一直是最重要的课题之一。这篇文章不仅仅针对 iOS,它针对所有的 GUI 开发,阐述了各种不同架构方法,包括 MVC、MVVM、VIPER 等等,它们背后共通的思想和原理。在了解常见的 GUI 设计模式之后,再阅读本文会有一种醍醐灌顶,拨云见日的感觉,强烈推荐中高级开发者进行阅读。

开源项目

  1. AssistantKit :有时候我们需要判别用户使用的设备种类、系统版本或者屏幕尺寸等信息。我们可以使用 SDK 中相关的方法来进行获取,但是系统 SDK 提供的方法存在很难使用,而且不太安全等问题。AssistantKit 是一个这方面的一站式解决方案,你可以用更加符合先进开发的方式来获取这些信息。
  2. AppDevKit :Yahoo 开源了一系列 Objective-C 的辅助工具集合,其中包括了很多常见的 extension,提供了对于 Cache,AutoLayout 以及其他 100 多个方面的简便方法和现有类的加强。
  3. Cleanse :Square 开源的一个用 Swift 进行依赖注入的框架。如果你熟悉 Android 和 Java 的话,一定不会对 Square 的几个 Java 框架陌生,比如 okhttp,picasso 和 Dagger。而这次 Square 为我们带来的 Cleanse 就是参考了 Dagger 在 Swift 中实现的依赖注入框架。通过依赖注入的手段,我们可以很容易并且安全地改变既存代码的行为。这不仅在大型应用开发中为我们带来更多灵活性,也对为较复杂的代码编写测试提供了便利条件。

感谢徐川对本文的审校。

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

2016-06-23 19:0011368
用户头像

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

关注

评论

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

微信朋友圈复杂度分析

Nico

0基础架构入门 - 2(架构设计复杂度模型和应对之道)

felix

架构实战营 0基础架构入门

背完这套Java面试八股文,自动解锁面试牛逼症被动技能

北游学Java

Java 数据库 面试 算法 开发框架

微信朋友圈架构设计

白开水又一杯

#架构实战营

Vue进阶(九十二):应用 postMessage 实现窗口通信

No Silver Bullet

Vue 9月日更

【Flutter 专题】56 图解自定义 BubbleWidget 气泡插件

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 9月日更

架构作业 - 模块二

Leo Zhao

架构训练营

LeetCode刷题977-简单-有序数组的平方

ベ布小禅

9月日更

在用户故事中应该包含多细的细节?(译)——来自Mike Cohn

Bruce Talk

敏捷开发 译文 Agile User Story Product Owner

架构实战课程 模块二作业

Frank

微信朋友圈高性能复杂度分析

一叶知秋

架构实战营

如何判断一个项目是否值得投资?

石云升

9月日更

架构训练营模块二作业

guangbao

《计算机网络》读后感

codists

【LeetCode】二叉树的深度Java题解

Albert

算法 LeetCode 9月日更

架构实战营-模块二作业

南山先生

架构训练营

架构实战营 模块七作业

孫影

架构实战营 #架构实战营

【VueRouter 源码学习】第三篇 - 路由插件 install 的实现

Brave

源码 vue-router 9月日更

极客时间-架构实战营2期-模块二作业

Dylan TANG

极客时间 第二周作业 极客时间架构师二期 架构实战营

模块二作业

TIEDPAG

架构实战营模块二

WolvesLeader

「架构实战营」

博客升级之在线代码编辑器

devpoint

编辑器 9月日更

网络攻防学习笔记 Day127

穿过生命散发芬芳

9月日更 办公网安全

学习心得 - 架构训练营 - 第二课

Fm

10个步骤成为K8S云原生工程师

云原生

Kubernetes 云原生 K8S工程师

微信朋友圈的高性能复杂度

michael

#架构实战营

大厂offer任你挑!覆盖面试中近98%Java高频面试手册

Java 编程 架构 面试 大厂

上线几小时下载量破百万!无价的这份阿里并发编程图册就这么强势

Java 编程 架构 面试 程序人生

黑灯瞎火搞什么?搞智造!

脑极体

中国、女性与自然的鸣奏曲

脑极体

大开眼界!数字人民币原来还有这些新玩法

CECBC

iOS 开发周报:WWDC 16 会议结束,四大平台新系统推出;Apple 解释暂不开发 Android 版 iMessage 的原因_移动_王巍_InfoQ精选文章