BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

iOS开发周报:Apple 将停止 iAd 广告业务,Apple Watch 第二代产品可能无法在春季发布会推出

| 作者 王巍 关注 0 他的粉丝 发布于 2016年1月20日. 估计阅读时间: 6 分钟 | 都知道硅谷人工智能做的好,你知道 硅谷的运维技术 也值得参考吗?QCon上海带你探索其中的奥义

新闻

  1. Apple 决定关停 iAd 服务iAd是 Apple 为了抗衡 Google 的 AdMob 和其他一些广告分发商的服务。在过去几年,iAd 一直以精美的广告制作及高点击率和回报率受到 iOS 开发者的喜爱。但是 Apple 一直没能解决 iAd 平台和广告内容上的局限性。最近 Apple 表示将放弃 iAd 服务,现有的广告提供和展示将维持到今年 6 月 30 日,而之后 iAd 将不会再继续工作。这代表 Apple 承认在广告领域的失败,主动退出竞争并将这片市场完全让给了其他广告商。
  2. Apple Watch 第二代产品可能推迟:按照惯例 Apple 会在今年三月召开春季发布会,届时将会发布新的 4-inch iPhone 和新一代的 Mac 产品。原本大家预测 Apple Watch 第二代产品也将在本次发布会上宣布,但是最近来自供应商的消息表明,很大可能这款产品不会那么快与我们见面。Apple 也许会将 Watch 的更新周期设定为 18 个月,也就是它有希望在今年 9 月时随着 iPhone 7 一起发布。
  3. LeetCode 在线评估系统开始支持 Swift:LeetCode 是一个汇集算法和在线解答及评估的网站,很多开发者会在上面进行算法练习。本周,LeetCode 在部分题目中引入了 Swift 支持,如果你之前想要进行算法练习,但是又苦于不擅长其他语言的话,现在正是开始进行尝试的好时候。LeetCode 对于 Swift 的支持一方面是 Swift 开源所促成的结果,另一方面也反应了 Swift 语言的热门程度和开发者的接受度。

教程

  1. 细说GCD(Grand Central Dispatch)如何用:GCD 在 iOS 开发中是非常常用的线程调度技术了,如何使用多线程来并发处理任务,也是 iOS 开发技术中不可避免会接触到的问题。这篇文章详细介绍了 GCD 队列,各种 GCD API 的使用方法等。通过实例,作者向我们展示了如何使用 Dispatch Source 监听系统底层对象,并分析了不同锁的性能,和一些常见的死锁情况。如果你对 GCD 的使用还不熟悉的话,推荐阅读这篇文章。
  2. Swift's mysterious Builtin module:Swift 开源后带来的一大优点就是开发者们可以了解到这门语言在底层到底做了些什么,这篇文章就是在此方向上做的一些探索。文中分析了 Swift 标准库中随处可见的 `Builtin` 类型和相关方法的一些细节,了解这些背后的知识可能会对我们理解 Swift 更深层次的东西有所帮助。
  3. 如何正确地写好一个界面:写界面可以说是每位移动应用开发者的基本功,也是一位合格移动应用开发者绕不过去的坎。但就如并不是每一位开发者都能够成为合格的开发者一样,也不是每个开发者都能写出合格的 UI 代码。本文先从 iOS 开发界面的一些基础概念开始,然后深度剖析了 View,ViewController 和一些编程范式,全方位地介绍了编写合理的界面代码应该注意的各个方面。
  4. 不再安全的 OSSpinLock:OSSpinLock 是在 iOS 多线程开发中一种常用的锁,但是最近 Apple 工程师表示 OSSpinLock 存在一个潜在的问题,有可能造成优先级反转。这篇文章对这个问题的进行了一些讨论,并定性分析了可能的替代方案的性能。虽然可以说是很少见的情况,但是如果你在项目中使用了自旋锁的话,考虑将它换成其他方案也许是明智的选择。

开源项目

  1. IBAnimatable:一个很有意思的项目,它通过大量地使用 `IBDesignable` 和 `IBInspectable`,增强了 Interface Builder 的功能,可以帮助我们在 Interface Builder 和 Swift Playground 里面设计 UI, 交互, 导航模式, 换场和动画等。这个框架带来的思想可以让 Interface Builder 从一款界面编辑工具向原型制作工具迈进一步。设计师甚至有可能直接使用 Interface Builder 创建或调整需要的动画效果,开发者也很容易将其直接应用到最后的 app 产品中去。
  2. PageMenu:类似的分页式的 ViewController 切换在最近的 app 交互中很常见,在内容关联的同屏幕中进行类似的切换也很符合用户的使用直觉。这个框架为我们提供了分页式交互的一种实现方式。
  3. YoCelsius:一款开源的天气预报的应用。因为天气预报类的 app 业务逻辑相对简单,可以让开发者更专注于具体实现和交互效果,所以天气 app 一直是新入门的开发者很

感谢徐川对本文的审校。

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

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT