写点什么

iOS 开发周报:Apple 迎来 40 岁生日,iOS 更新 9.3.1 修复 Safari 链接问题

  • 2016-04-04
  • 本文字数:1562 字

    阅读完需:约 5 分钟

新闻

  1. Apple 公司于 4 月 1 日迎来 40 岁生日:1976 年 4 月 1 日,乔布斯和沃兹尼亚克在 Los Altos 乔布斯家的车库中创立了苹果公司。从 Apple I 和 Apple II 的成功开始,Apple 经历了低谷和回归,并开创了像是个人电脑和移动互联网的新时代。这篇新闻帮助我们总结回顾了这 40 年来 Apple 所发布的产品和变化,对历史感兴趣的开发者可以看看 Apple 是如何一步一步走到今天的。
  2. iOS 更新 9.3.1 修复 Safari 链接问题:iOS 9.3 于上周发布,为我们带来了 Night Shift 和备忘录 Touch ID 等改进。而不幸的是,很多用户发现了升级 iOS 9.3 后 Safari 和其他一些 app 中的 Universal Link 失效的问题,Apple 迅速做出了对应并发布了新的修正版本 iOS 9.3.1 来解决这个问题。

教程

  1. Swift Runtime 分析:还像 OC Runtime 一样吗?: 一篇对 Swift 运行时进行探索和分析的文章,Swift 的运行时和 Objective-C 的运行时是有所不同的,但是 Swift 代码也有可能使用到 Objective-C 的运行时特性。本文对两种运行时进行了一些对比和区分,并对两者的动态特性的使用进行了介绍。
  2. iOS 冰与火之歌 – 利用 XPC 过 App 沙盒:XPC 是 OS X 上进程间通讯的常用手段,而在 iOS 中虽然第三方开发者不允许直接使用 XPC,但是这项技术还是存在于 iOS 系统之中的,这篇文章简单介绍了在 iOS 上利用 XPC 与系统进程通讯并突破沙盒的技术要点。
  3. Breaking Swift with reference counted structs :Swift 是一门自动内存管理的语言,但是其背后机制其实还是引用计数。对于熟悉 Objective-C 的开发者来说,最大的区别在于 Swift 中对值类型的使用非常多,而值类型并不在堆上进行内存分配,自然也就没有引用计数的问题。但是如果你在值类型中包含持有了引用类型,背后将会发生一些隐式的复制和持有,将导致内存泄露。这篇文章举了一个这方面的例子,并进行了一些探索。
  4. Surprises with Swift Extensions :Swift 的 extension 为我们提供了非常多的方便,虽然 Swift 本身是以 module 的方式对不同框架的代码进行了隔离,但是向 UIKit 的类型添加 extension 时,我们仍然需要为其添加前缀。不过,使用 @objc(prefix\_name) 可以在保持 Swift 代码名字优雅的前提下,只向 Objective-C 运行时暴露合适的方法名,不失为一种好方法。这篇文章讲述了一个调试的例子,并简单解释了 Swift Extension 的一些限制。

开源项目

  1. Crayons :帮助在 Xcode 的 Interface Builder 中定义一个项目专用的颜色盘的插件。这个插件通过读取项目中特定文件中定义的颜色,将其以调色盘显示在 Interface Builder 里,方便你在 IB 中构建界面时直接点取使用。如果你通常是使用 IB 来制作 UI 的话,这会是十分方便的功能。
  2. WKZombie :由 Swift 编写的一个无界面浏览器框架,它非常适合用来解析网页内容,并进行一些自动化操作。像是获取网页内容值,提交表单等等自然不在话下。如果你需要在应用中实现一些类似简单爬虫或者网页自动化的流程,或是为你的网站编写测试,那使用这个框架会让你事半功倍。
  3. Gifu :一个轻量级的 GIF 动画框架,它采用了利用 CADisplayLink 绑定帧动画,并逐帧解析和加载的方式,来处理体积较大的 GIF 文件。如果你的应用中恰好有显示大 GIF 文件的需求,那这个框架会是一个可选项。
  4. UIImageColors :从一张 UIImage 图片中提取出主色调的框架。将 cell 的背景颜色设置为与其中图片的主色调一致的颜色来增强用户体验和区分不同 cell 的内容,是在 Apple 现在的 iTunes 应用上常见的表现手段。利用该框架,你可以简单地运用将这种设计手法进行设计,而且框架中还提供了一系列配套的辅助方法以帮助你简化构建这种高对比度 cell。

感谢徐川对本文的审校。

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

2016-04-04 19:001429
用户头像

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

关注

评论

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

Java内存问题从工具到诊断平台

徐敏

Java 监控 垃圾回收 故障诊断

Go 与 C++ 的对比和比较

恒生LIGHT云社区

c++ 编程语言 Go 语言

存储大师班 | ZFS存储池块管理与事务模型

QingStor分布式存储

文件存储 分布式存储

fil挖矿收益如何?fil挖矿一天可以挖多少?

区块链 分布式存储 IPFS fil挖矿 filecoin收益

为什么要了解复杂科学?

石云升

8月日更

吃透这份Github点赞120k的Spring全家桶笔记Offer拿到手软

Java~~~

Java spring 架构 面试 Spring Cloud

fil挖矿步骤教程是什么?fil挖矿规则是什么?

fil挖矿步骤教程是什么 fil挖矿规则是什么

女巫面具软件开发

(王经理)专业app小程序开发

RocketMQ-学习记录

春秋易简

02. 到底什么是人工智能

Databri_AI

人工智能

美团年货-2020年(记录)

春秋易简

一周信创舆情观察(8.16~8.22)

统小信uos

赋能生态,合力同行!博睿数据成为光合组织成员单位

博睿数据

联邦计算能力,让企业异构数据源数据合作畅通无阻

星环科技

异构数据 联邦计算

架构设计系列一 架构方法论的入门

nydia

架构学习

七月速递:人脸特征值同步私有化部署包发布、EdgeBoard车辆分析软硬一体方案助力交通管理智能化

百度大脑

人工智能 EdgeBoard 软硬一体

强大的OCR技术+多元的用户场景 口碑型App白描的开发之路

百度大脑

人工智能 OCR 视障

Go- 字符串、切片和数组的使用

HelloBug

数组 字符串 Go 语言 切片

太厉害了,终于有人把TCP-IP协议整合成864页学习笔记了

Java~~~

Java 架构 面试 TCP 网络

读书笔记-《数据密集型应用系统设计》-概论

KayTin

盲盒星球系统开发

(王经理)专业app小程序开发

Python实现发送邮件(实现单发/群发邮件验证码)

Python研究者

8月日更

云行、数治、慧用 打造直抵基层的数字化高速公路

云计算

初学架构师养成の微信业务架构分析&学生管理系统架构

Yina🌝很浪🌊

架构

易灸灸系统开发

(王经理)专业app小程序开发

关于开发视图

编程三昧

8月日更 开发视图

学生管理系统架构设计

晓波

架构实战营

fil矿机什么时候开始挖?fil矿机能挖多久?

fil矿机能挖多久 fil矿机什么时候开始挖

优雅的故障处理:快速创建 Pulsar 重试队列

Apache Pulsar

消息队列 Apache Pulsar StreamNative

现货量化策略系统开发,量化软件开发

13530558032

数字资产多链钱包搭建,区块链多币种钱包

13530558032

iOS开发周报:Apple 迎来 40 岁生日,iOS 更新 9.3.1 修复 Safari 链接问题_移动_王巍_InfoQ精选文章