[ WWDC2018 ] - Swift 4.2革新 What's new in Swift

前言 Swift每半年有两个重大更新的版本,4.1和4.2就是继4.0之后2018年的两个版本。 Swift 4.2版本主要有两方面的更新,一是关注提升开发人员生产力,你可以看到项目构建速度的提升,利于开发的语言改进;二是在二进制兼容性方面做出了大量的努力。 Swift的发展 苹果希望在所有平台...

展开...

[ WWDC2018 ] - AR Quick Look 概览

1、什么是AR Quick Look 1.1、概述 AR Quick Look是用于在AR场景中预览3D模型的技术,通过它开发者能快速在自己的App中展示高质量的3D内容。 1.2、优点 使用简单,内置AR场景设置,使用者不需要了解AR技术。 1.3、使用环境 iOS12 1.4、usdz文件 AR...

展开...

[ WWDC2018 ] - Swift 泛型 Swift Generics

我们首先来回顾一下 Swift 中对于泛型支持的历史变更,看看现在在 Swift 中,泛型都支持哪些特性 Swift 泛型是 Swift 语言中的一个重要特性,在历届 WWDC 大会都有被提及,网上可以参考的资料也很多。这次会议上讨论了泛型特性的一些设计思路 泛型对于 Swift 的重要性 考虑一个...

展开...

iPhone X 刘海儿打理指南

只有那些疯狂到以为自己可以改变世界的人,才能改变这个世界。 前言 北京时间今天凌晨1点,苹果再一次让全世界沸腾。iPhone X 带给我们的最大改变:全屏 Super Retina显示屏。它提供了更多的内容显示空间,同时也营造了更加深入的沉浸感。作为 iOS 开发者,在为强大的 Face ID...

展开...

[Diving into WWDC 2017] 如期而至 不负众望

美国西部时间 6 月 5 日上午 10 点,5300 名来自世界各地的开发者齐聚圣何塞,参加苹果一年一度的开发者大会(WWDC),今年头条君也有幸来到现场感受了大会的火热气氛; 最棒的 WWDC 发布会一开始 Tim Cook 即表态这将是苹果历史上最棒的一次 WWDC,而这场超过两个半小时的...

展开...

[Diving into WWDC 2017] Labs 答疑纪实

每年 WWDC 的 Labs 都会有苹果的工程师在现场为开发者解答问题,以下是我们的提问和解答:( Q 为头条君的问题,A 为苹果工程师的解答) Q:如何提升编译速度?我们本地编译一次要 5 分钟? A:5 分钟?那听起来挺快的?(笑);尽量使用静态库,确保 LTO 选项在 Debu...

展开...

[Diving into WWDC 2017] Core ML in depth

机器学习在 iOS 中的应用 Core ML 2017 年的 WWDC 大会苹果赋予了开发者们新能力,能够将机器学习应用在移动端上,着实是一次让人感到兴奋的事情,一颗赛艇!!积极开展的 Session 学习活动,在第一节和第二节引用了一些概念和背景来帮助理解,熟练工请忽略,跳至第三节直接开始操作...

展开...

[Diving into WWDC 2017] Introducing HEIF and HEVC

HEIF 和 HEVC 介绍 观察一下我们生活的当今世界,越来越多的人生产和消费以图像、视频为载体的内容。不仅如此,这些媒体内容也在不停的变换新的格式,比如高分辨率的 4K 视频,HDR 视频。媒体的生态也在发生着改变。但是这些变化也受到了带宽等传输上的限制。所以目前大范围使用的 H.264 编...

展开...

[Diving into WWDC 2017] Engineering for Testability

测试的工程化 一、前言 单元测试可以帮助开发人员持续验证代码能否正常工作。但是,编写单元测试依赖现有代码的可测试性,开发人员需要不断探索代码重构的技术,确保代码容易被测试,通过重复的循环迭代,形成最佳实践和一套对应的测试集,伴随着应用一同迭代。 二、可测试的代码 在现有代码中引入单元测试的作用主要有...

展开...

[Diving into WWDC 2017] Updating Your App for iOS 11

为你的 App 适配 iOS 11 活着就是为了改变世界,难道还有其他原因吗? - 史蒂夫·乔布斯 前言 想先看原视频的点这里 iOS 11 为整个生态系统的 UI 元素带来了一种更加大胆、动态的新风格。 下面一起了解一下如何在应用中采用新功能,包括具有集成了搜索的大标题栏,文字图标横向排列的...

展开...

iOS端一次视频全屏需求的实现

对于一个带有视频播放功能的app产品来说,视频全屏是一个基本且重要的需求。虽然这个需求看起来很简单,但是在实现上,我们前后迭代了三套技术方案。这篇文章将介绍这三种实现方案中的利弊和坑点,以及实现过程中积累的经验。 需求要点: 在屏幕旋转的动画中,需要保持播放器之外的界面布局(比如“First Vie...

展开...

今日头条iOS客户端启动速度优化

应用启动时间,直接影响用户对一款应用的判断和使用体验。头条主app本身就包含非常多并且复杂度高的业务模块(如新闻、视频等),也接入了很多第三方的插件,这势必会拖慢应用的启动时间,本着精益求精的态度和对用户体验的追求,我们希望在业务扩张的同时最大程度的优化启动时间。 技术调研 先说结论,t(Ap...

展开...

iPhone安装包的优化

这是一次安装包大小优化的实践。 随着业务的增加,工程中引入越来越多的业务代码和第三方库, 整个安装包越来越大。以今日头条5.7.5为例 最近几个版本的ipa大小如下: 5.7 -> 72.2M (+0.8M) 正常业务增量 5.6 -> 71.4M (+14M) 主要原因:接入某SDK后安装包的...

展开...