BT

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

iOS开发周报:iPad Pro 或于 13 日发布,App Store 添加新的购物分类

| 作者 王巍 关注 0 他的粉丝 发布于 2015年11月12日. 估计阅读时间: 6 分钟 | QCon上海2018 关注大数据平台技术选型、搭建、系统迁移和优化的经验。

新闻

  1. Apple 在 App Store 中新加了购物分类:在以前,很多电商类的 app 都被放到了生活类下,不过其实生活类 app 包罗万象,像是日记类 app 或者食谱类 app 会更适合这个分类。最近,Apple 在 App Store 中添加了一个购物 (Shopping) 的分类,这将会是这类电商 app 更好的归宿。在 app 数量爆炸的今天,更多的分类意味着 app 曝光可能性的增加以及潜在用户更容易发现你的 app,这对开发者和消费者来说都是好消息。

  2. 第三方零售商将于 13 日开始 iPad Pro 发货:虽然 Apple 官方并没有给出 iPad Pro 的具体发售日期,只是笼统地说会在 11 月发布,不过根据一些零售商的行为来看,这款设备已经离我们很近了。欧美一些零售商接受 iPad Pro 预订并将于本月 13 日开始发货。不出意外的话,这也将是 Apple 官方发布 iPad Pro 的日期。

  3. XcodeGhost 持续影响 iOS 开发:如果你认为一个多月前的 XcodeGhost 事件已经彻底完结的话,你就大错特错了。近日美国一家信息安全公司发现有一些 XcodeGhost 的变种版本能够作用于 Xcode 7 和 iOS 9,并绕开 ATS (App Transport Security) 系统以及逃避静态分析工具的检测。另外,一些使用了被感染的 Xcode 编译的第三方库中也会带有 XcodeGhost,这使得即使你的 Xcode 没有问题,但是只要使用了这样的第三方库,最后编译的 app 依然是被植入病毒的版本。

教程

  1. Why is Swift's String API So Hard?:在 Swift 中字符串类型的处理很有意思,对应的 API 远比我们想象的复杂。作为一门没有历史包袱的语言,Swift 为什么会在字符串上选择了现在这样的处理方式,以前 C 系语言的字符串处理有什么问题?这篇文章从深层次讲述了为何 Swift 的字符串会设计成现在的样子。

  2. Elastic view animation using UIBezierPath:作者通过UIBezierPath 实现了一个弹性下拉刷新的控件。这篇文章是这一实现过程的一个教程,写得非常详细。如果你对贝塞尔曲线的使用还不熟悉,或者对如何制作一个类似的自定义控件毫无头绪的话,这篇文章为你提供了一个很好的范例。

  3. 关于 @synchronized,这儿比你想知道的还要多:一篇翻译文章,介绍了 @synchronized 背后的故事。如果你已经使用 Objective-C 编写过任何并发程序,那么想必是见过 @synchronized 了。它的作用类似于锁,用来防止不同的线程同时执行同一段代码。这篇文章对这背后都发生了什么进行了一些探索。

  4. 被误解的 MVC 和被神化的 MVVM:如何避免把 MVC (Model View Controller) 写成 Massive View Controller 可以说一直是 iOS app 架构上的重点,MVVM 是一种选择。但是 MVVM 也并不是万能的,辩证地看的话,在 MVVM 帮助解决耦合的通过,它也存在一些缺点。这篇文章简述了 MVC 和 MVVM 的一些各自的特点,可以作为我们在设计一个 iOS app 架构时的参考。

开源项目

  1. YYText:功能强大的 iOS 富文本编辑与显示框架,相当于将 UILabel 和 UITextView 的开源实现。这组实现和 UIKit 中的类似,是基于并扩展了 CoreText 的特性。相较于系统的原生实现,这个开源实现让你有机会根据项目需求进行自己的调整,这在复杂的图文混排应用场景中会比较有用。

  2. Unbox:又一个 Swift 的 JSON 解析框架。因为在 Swift 中,不提倡像 Objective-C 那样大范围使用动态特性,因此在 JSON 解析方面一直没有特别好的自动化方案。这个项目和已有的像是 Himotoki 或者 Argo 来说并没有特别大的不同,不过实现上要简单不少,可以作为备选的方案。

  3. Prephirences:如果你还在使用 NSUserDefaults 来保存用户设置的话,现在可以考虑更好一些的方式了。Prephirences 可以让我们很轻松地在 NSUserDefaults,Core Data,Keychain 等不同情境下保存用户设置。另外,你也可以轻易地合并不同的设置中的值。

  4. Armchair:Swift 写的用户评论管理,支持 iOS 和 OSX 中在一定条件下弹出让用户进行评论的对话框。这个框架和 Objective-C 中的 iRate 和 Appirater 等比较类似,包含了基本所有支持的本地化语言,并且可以通过各种条件来控制是否弹出评论提示。


感谢徐川对本文的审校。

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