【AICon】探索八个行业创新案例,教你在教育、金融、医疗、法律等领域实践大模型技术! >>> 了解详情
写点什么

iOS 开发周报:Swift ABI 稳定时间将被推迟,新版本 iPhone 可能包括双镜头相机

  • 2016-05-23
  • 本文字数:1755 字

    阅读完需:约 6 分钟

新闻

  1. Swift ABI 的稳定时间将被推迟:在之前 Swift 3.0 的路线图中,新版本的 Swift 预计可以达到 ABI (应用二进制接口) 稳定,这将意味着旧版本的 Swift 二进制程序将可以运行在新的环境中。但是,最近 Swift 项目的创始人和负责人 Chris Lattner 在邮件中暗示可能这个目标在 Swift 3.0 中将无法达成。通用的 ABI 和其稳定性将被移到之后的版本中实现。
  2. 下一代大屏 iPhone 可能配备双镜头:随着夏天的到来,上一代的 iPhone 也进入了销售的中期。和以往一样,关于今年 iPhone 的种种传言和猜测也逐渐开始流行。据称 Apple 将可能在下一代的 5.5 寸 iPhone 上 (可能被称为 iPhone 7 Plus 或者 iPhone Pro) 安装两个背面镜头。其中一个镜头维持当前的相机功能,另一个镜头专门负责处理缩放的画面,这样同一时间用户将能记录两个版本的画面,或者进行画面的相互补偿。之前,华为 P9 系列的手机曾经进行过类似的尝试。新的摄像头可能也会给第三方开发者们带来很多新的创意。

教程

  1. What I’m Doing With These Articles :文章的作者 Simmons 是 Omni 公司的自身 Objective-C 开发者,对 Swift 也非常有研究。Simmons 在他之前一系列博客文章中讨论了 Swift 和 Objective-C 在动态特性上的差异,以及不少只有 Objective-C 能解决的问题,这一系列讨论在国外 iOS 开发者社区引起了不小的反响。Simmons 在这篇文章中总结了自己的观点,他认为 Swift 只是未来的一部分,而很多开发者因为没有意识到他们其实是在一系列 Objective-C 动态特性所支撑的平台和框架上进行开发,所以看待问题相对有些局限。如果你打算或者已经从 Objective-C 转到 Swift,阅读 Simmons 的一系列文章会对深刻理解这个问题有所帮助。
  2. Command Line Programs on OS X Tutorial :一般很多命令行程序都会使用像是 C,Perl 或者 Ruby 这样的语言来编写,以保证能够在各个平台运行。在 Objective-C 时代,因为 Foundation 库和其他的一些限制,很少有人使用这门语言来编写命令行工具。但是 Swift 开源并跨平台后,Foundation 也将使用 Swift 进行包装并可以运行在像是 Linux 这样的平台下,这给了使用 Swift 开发命令行程序的可能性。本文将带领你使用 Swift 创建一个命令行程序,来完成像是解析输入等基本的操作。
  3. Swift API 设计指南:Swift 3.0 引入了非常多的改动,包括函数签名的重新设计等,这带来的另一个副作用是 API 的设计也需要进行更新。如果你已经对迁移到 Swift 3.0 跃跃欲试,那么可以持续关注这篇文章和 Apple 在官方网站上的原文,来紧跟 Swift 在今年的变化。

开源项目

  1. SwiftTheme :app 中经常会有需要切换主题的需求,而统一管理这些主题的配置和切换其实并不是想象中那么简单的事情。SwiftTheme 是一个专门负责处理这方面需求的框架,你可以通过预先定义像是配色以及图片这样的资源,就可以方便地在各个主题之间进行切换了,十分方便。
  2. Networking :一个简单的对 NSURLSession 的封装的网络框架,使用这个框架可以非常方便地完成绝大多数一般 app 中的网络部分的请求,它可以让我们用更安全的方式对网络请求进行设置,而不用再去手动处理像是 content type 或者 token 这些细节。另外,这个框架还提供了 stub 和 mock 的能力,让快速搭建原型的同时,可以避免今后对代码的再次更改。
  3. BATabBarController :系统原生的 TabBarView 有着非常多的限制,为 tab bar 自定义外观一直是一件很难的事情,更别说自定义一些漂亮的交互和动画效果。而这个框架通过完全自定义重写一个 tab view controller,从而灵活地实现了一个非常炫酷的 tab bar view 动画效果。如果有类似需求的时候,不妨参考一下这个框架的组织方式。
  4. PMAlertController UIAlertView 或者 UIAlertController 的外观自定义也十分困难,不过因为本身它们就是作为简单的用户提示控件而存在的。在我们制作 app 时,在弹框这样重要的与用户进行交互的方式中,还是会尽可能希望与自己的 app 风格一致。PMAlertController 就是一个帮助你用更加方便灵活,可自定义的弹窗控件来替换掉 Apple 原来的部件的框架,你可以方便地为 alert 添加图片,安排按钮,实现动画等。

感谢徐川对本文的审校。

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

2016-05-23 19:002532
用户头像

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

关注

评论

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

你有时间吗?

池建强

时间

10 张图打开 CPU 缓存一致性的大门

小林coding

缓存 cpu 操作系统 计算机

可视化数据科学中的概率分布以帮你更好地理解各种分布

计算机与AI

学习 数据科学

30 岁的码农人生 ——人生至暗时,你依然能窥见光明

cxuan

程序员 程序人生 感悟

什么是动态代理

Rayjun

Java 动态代理

分布式系统使用网关到底是好还是坏?

架构师修行之路

分布式 微服务 网关

为你总结了N个真实线上故障,从容应对面试官!

AI乔治

Java 架构 GC

Dubbo 微服务调用时序图

Acker飏

"全能"人才的概念真的对吗

supernova

创业 读书笔记 随笔杂谈

实用!8个 chrome插件玩转GitHub,单个文件下载小意思

程序员小富

GitHub

阿里巴巴专属著作超赞,就是名字起得有点狂“成神之路”???

Java架构师迁哥

记一次Jvm参数调优实战

AI乔治

Java 架构 JVM 编程思维 jvm调优

如何在微信公众号图文中插入外链

Ceelog

微信公众号

英特尔老矣,尚能“转”否?

脑极体

JVM系列-第一节:JVM简介、运行时数据区、内存分代模型

诸葛小猿

Java JVM JVM简介 运行时数据区 内存分代模型

LeetCode题解:47. 全排列 II,回溯,JavaScript,详细注释

Lee Chen

算法 大前端 LeetCode

它可能是分布式系统中最重要的枢纽

架构师修行之路

分布式 微服务 注册

新基建下区块链基础设施建设

CECBC

区块链

系统从初期到支撑亿级流量,都经历了哪些架构的变迁?

冰河

分布式 微服务 系统架构 SOA 垂直架构

即构SDK10月迭代:新增多款语音音效、外部采集码流控制及Android SDK 最低支持操作系统版本调整

ZEGO即构

android RTC

谈谈贪官污吏

空山

AES加密模式

Mars

AES

谷歌朝南,华为朝北

脑极体

今天你的idea崩了吗?分享6种“白嫖”正版idea的途径,真香定律

小Q

学习 架构 面试 开发 IntelliJ IDEA

算法学习1-- 数组常见问题

菜鸟小sailor 🐕

算法和数据结构

中国银行前行长李礼辉:区块链技术优势与产业前景

CECBC

区块链 数字货币

【JSRC小课堂】Web安全专题(一)认证缺失和认证缺陷漏洞

京东科技开发者

WEB安全

32个问题,学习Java虚拟机的运行时数据区

AI乔治

Java 架构 JVM JVM虚拟机原理

一次艰难的内存泄露排查,BeanUtils的锅

AI乔治

Java 架构

区块链助力跨省、零材料办理 成都武侯打造“中国政务服务第一链”

CECBC

区块链

甲方日常 39

句子

工作 随笔杂谈 日常

iOS 开发周报:Swift ABI 稳定时间将被推迟,新版本 iPhone 可能包括双镜头相机_移动_王巍_InfoQ精选文章