写点什么

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

  • 2015-11-11
  • 本文字数:1726 字

    阅读完需:约 6 分钟

新闻

  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 好读者)。

2015-11-11 18:002230
用户头像

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

关注

评论

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

测试过程中如何快速定位一个bug

测试人生路

软件测试

OPPO技术开放日第六期丨OPPO安全解析“应用与数据安全防护”背后的技术

OPPO安全

OPPO安全

数字货币将带来怎样的“革命”

CECBC

数字货币 货币

同步与异步,回调与协程

Linux服务器开发

线程 后端 协程 底层应用开发 Linux服务器开发

《迅雷链精品课》第九课:区块链P2P网络

迅雷链

区块链

深入了解进程间通信:System V信号量+共享内存

ShenDu_Linux

Linux 进程 内存管理 通信协议

Serverless 应用引擎的远程调试和云端联调

阿里巴巴云原生

Java Serverless 云原生 后端

Accept-Language是什么? 就在身边,你却没看见的“冷知识”系列(不定期偶遇)

八苦-瞿昙

随笔杂谈 HTTP

linux后台开发必知的linux系统内存知识总结

linux大本营

c++ Linux 后台开发 架构师 内存管理

设备常用网管配置举例

从零做网站开发:基于Flask和JQuery,实现表格管理平台

华为云开发者联盟

jquery flask 框架

GO训练营第2周总结

Glowry

技术应用丨DWS 空间释放(vacuum full) 最佳实践

华为云开发者联盟

内存 存储 磁盘

年轻人快来学习TCP 协议如何解决粘包、半包问题!

程序员小灰

c++ Linux TCP 后台开发 Linux服务器开发

进一步深挖工业数据价值

CECBC

数据安全;工业互联网

区块链在国际贸易领域应用的法律问题

CECBC

区块链

爆买剁手之后,我们的快乐为什么越来越贬值?

脑极体

《视觉系统中的深度学习》PDF及源代码免费下载

计算机与AI

学习 计算机视觉

中国CRM突围指南

ToB行业头条

CRM

大企软件系统问题多?归乡名企工程师:解决很简单,分分钟做个新系统

Learun

敏捷开发 快速开发 企业开发 CRM 企业应用

在K8S/OpenShift上开发应用程序的14种最佳实践

东风微鸣

Kubernetes 最佳实践 k8s最佳实践 openshift

LeetCode题解:455. 分发饼干,贪心while循环,JavaScript,详细注释

Lee Chen

算法 大前端 LeetCode

浅谈互斥锁与进程间的通信(举例说明)

ShenDu_Linux

Linux 程序员 架构师 进程线程区别

为什么从蚂蚁离职?base拉胯,高潜也被倒挂,就是酸,忍不了

Java架构师迁哥

你敢信?就是这个Netty的网络框架差点把我整疯了,哭jj

小Q

学习 编程 面试 Netty 网络

关于物联网规则引擎技术,你想要知道的都在这儿!

华为云开发者联盟

数据 联动 iotda

精彩回顾 | 一张图读懂OPPO应用与数据安全防护

OPPO安全

OPPO安全

「云原生上云」后的聚石塔是如何应对 双11 下大规模应用挑战的

阿里巴巴云原生

阿里云 云原生

当居住空间被智能包裹:OTA智能社区改变了什么?

脑极体

架构师 3 期 3 班 -week2- 作业

zbest

作业 week2

cncf serverless 所有项目全解读

coldTea214

云计算 Serverless 容器 cncf

iOS开发周报:iPad Pro 或于 13 日发布,App Store 添加新的购物分类_移动_王巍_InfoQ精选文章