写点什么

iOS 开发周报:XcodeGhost 事件提醒开发者提高安全意识,新版本 iOS 首周表现良好

  • 2015-09-22
  • 本文字数:1745 字

    阅读完需:约 6 分钟

新闻

  1. XcodeGhost 肆虐,iOS 开发者安全意识大危机:本周最大的新闻应该就是 XcodeGhost 恶意代码事件了。XcodeGhost 的作者通过篡改 Xcode 工具链,并利用国内网络不畅的因素,将植入恶意代码的 Xcode 进行大范围传播。这导致使用被篡改后的 Xcode 进行编译的应用中都会包含上传用户信息和接收第三方服务器响应来进行弹窗的木马。迫于舆论压力,作者在 GitHub 上开源了 XcodeGhost 的代码,并辩解说只是一次实验。但是从代码中对调试器的防范,上传用户数据时精心选择的密码,以及上传用户信息所使用的具有迷惑性的域名来看,很难让人相信这只是一次没有恶意的个人行为。这次事件造成的损失和后续发展会如何,我们还有待观察,不过对于 iOS 开发从业者来说,我们确实应该反思,从这次事件中吸取教训,并树立良好的安全意识。
  2. iOS 9 发布,3 天安装率超过 30% :iOS 9 于本周正式发布。根据 Mixpanel 的数字,在 iOS 9 发布 24 小时内,装机率就占到了活跃的 iOS 设备的 12%;在第三天的时候,这一数字已经超过 30%。该速度和一年前的 iOS 8 的安装率持平,但是低于全新设计的 iOS 7。对于 iOS 开发者来说这是一个好消息,因为随着 iOS 9 的逐渐普及,在不久的将来 iOS 7 的占有率可能会跌到 5% 以下,这也意味着我们可以逐渐放弃对 iOS 7 的支持,以提供更加稳定和一致的应用体验了。没有碎片化,一直是 iOS 开发吸引人的一个重要方面。

教程

  1. UIStackView Tutorial: Introducing Stack Views UIStackView 是 iOS 9 SDK 加入的新布局方式,类似 Android 中的 Linear Layout,在制作一般的线性视图时使用 UIStackView 会非常方便。这篇教程详细介绍了这种新布局方式的使用方法。
  2. Swift 最佳实践:上周周报中提到的 Swift-Community-Best-Practices 的中文版本。Swift 社区逐渐总结了一些比较成熟和先进的最佳实践。这篇文章为我们介绍了包括像是命名,单例,常量,类型等等一系列的推荐使用方式。
  3. iOS9AdaptationTips :向我们介绍了为 iOS 9 做适配的时候需要注意的内容,包括像是 BitCode 启用,App Transport Security (ATS) 以及 URL Scheme 的政策改变等等。虽然这些内容点在 WWDC 视频中都有介绍,但是这里将需要特别关注的内容都进行了汇总,方便开发者进行查阅和比对。
  4. Pattern Matching in Swift :Swift 的内建模式匹配是很强大的语言特性,但是在使用中经常容易被忽视。这篇文章中作者扩展了内建的模式匹配,为它实现了像是匹配大于 / 小于这样的功能,并给出了实用的例子。在此基础上,作者继续探讨了诸如自定义模式匹配操作符,字符串匹配等一系列小技巧,可以加深我们对 Swift 中模式匹配的理解。

开源项目

  1. iOS-9-Sampler :每年新版本 iOS 发布后,shu223 都会将自己所整理的新 SDK 中的功能实例用法开源出来,今年也不例外。作者在这个 repo 中向我们展示了像是 Spotlight 搜索,SFSafariViewController 等新特性的使用方式。
  2. MonkeyKing :一个 Swift 库,提供在应用内将链接和图片简单地分享到微信或 QQ 的功能。使用这个框架可以避免集成庞大和闭源的相关 SDK,以提高应用的安全性。框架使用了满足分享到社交平台的 scheme 来绕开 SDK 的流氓限制和设计,是一种比较干净的实现方式。作者还撰写了一遍博客来解释了这个项目的由来和使用方法。
  3. Watchdog :阻塞主线程是 iOS 开发新人经常犯的一个错误,对于那些耗时的非 UI 操作,我们都应该将它放到其他线程中执行,以保证用户响应的处理和界面的流畅。但是有时候即使是有经验的开发者也确实会忘掉这件事情。这个框架可以监视主线程的情况,并在可能发生阻塞 (主线程超过一定时间还没有进入空闲状态) 的时候,向我们给出警告,这在开发时提醒我们注意线程问题很有帮助。
  4. TKSubmitTransition :漂亮的按钮控件,带有 loading 动画效果和展开转场特效,非常适合使用在用户注册后或登录时的展示。它的实现使用了基本的 Layer 动画以及 UIViewController 转场动画,是在制作动画时比较基本的技术,如果你对 UI 动画和效果感兴趣的话,不妨深入看看它的实现。

感谢徐川对本文的审校。

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

2015-09-22 19:002813
用户头像

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

关注

评论

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

只懂黑盒测试也能学会的代码覆盖率及精准化测试

霍格沃兹测试开发学社

软件测试 自动化测试 测试开发

DevStream 社区贡献者英雄榜上线啦!

玩转Devop和研发效能DevStream/DevLake

开源 DevOps 开源社区 DevStream 开源运营

利器 | TestNG 与 Junit 对比,测试框架如何选择?

霍格沃兹测试开发学社

软件测试 自动化测试 测试开发

软件测试 | 测试开发 | HttpRunner初体验

测吧(北京)科技有限公司

软件测试 测试

从 Linux 内核角度探秘 JDK NIO 文件读写本质

bin的技术小屋

Linux jdk nio Linux Kenel 文件I/O

利器 | Java 接口自动化测试首选方案:REST Assured 实践 (一)

霍格沃兹测试开发学社

一文彻底理解 Cookie、Session、Token

霍格沃兹测试开发学社

软件测试 自动化测试 测试开发

隐私计算,让企业大数据走进数据网络时代

Jessica@数牍

程序员交接代码中被植入了恶意删除操作,太狠了!

程序员小毕

Java 程序员 面试 程序人生 码农

软件测试 | 测试开发 | 如何利用 xUnit 框架对测试用例进行维护?

测吧(北京)科技有限公司

软件测试

利器 | AppCrawler 自动遍历测试实践(三):动手实操与常见问题汇总

霍格沃兹测试开发学社

软件测试 自动化测试 测试开发

你以为Shell只是命令行?读懂这篇文,给你的工作赋能

霍格沃兹测试开发学社

代码质量管理平台实战| SonarQube 安装、配置及 JaCoCo、Maven 集成

霍格沃兹测试开发学社

软件测试 自动化测试 测试开发

代码分析体系及Sonarqube平台

霍格沃兹测试开发学社

软件测试 自动化测试 测试开发

leetcode 114. Flatten Binary Tree to Linked List 二叉树展开为链表(简单)

okokabcd

LeetCode 算法与数据结构

【xShell 7】强悍的Linux远程链接工具、终端模拟器

淋雨

Linux 运维 xshell

面试官:如何组装一个注册中心?

Java永远的神

编程 程序员 面试 微服务 注册中心

数字藏品系统软件开发

开源直播系统源码

NFT 数字藏品 数字藏品系统软件开发 数字藏品app

Apache Hudi X Apache Kyuubi,中国移动云湖仓一体的探索与实践

网易数帆

大数据 Kyuubi Hudi LakeHouse 湖仓一体

Github最新霸榜!Alibaba架构师手写的分布式系统核心原理手册

了不起的程序猿

Java 分布式 开发 分布式系统 java程序员

利器 | REST Assured 实践(二):断言实现

霍格沃兹测试开发学社

软件测试 自动化测试 测试开发

一文搞懂测试左移和测试右移的 Why-How-What

霍格沃兹测试开发学社

软件测试 自动化测试 测试开发

软件测试 | 测试开发 | Web服务端推送技术介绍

测吧(北京)科技有限公司

Web 软件测试

云架构系统如何做性能分析?| 实战干货

霍格沃兹测试开发学社

软件测试 自动化测试 测试开发

不懂PO 设计模式?这篇实战文带你搞定 PO

霍格沃兹测试开发学社

软件测试 自动化测试 测试开发

软件测试 | 测试开发 | 免安装免配置环境的免费 ios 调试工具 sib 来啦

测吧(北京)科技有限公司

ios 测试

数据可视化系列教程之React组件使用技巧

云智慧AIOps社区

前端 React 数据可视化

阿里云丁宇:以领先的云原生技术,激活应用构建新范式

阿里巴巴中间件

阿里云 云原生 应用构建

一文带你了解接口测试价值与体系

霍格沃兹测试开发学社

软件测试 自动化测试 测试开发

利器 | 接口自动化测试框架 RESTAssured 实践(三):对 Response 结果导出

霍格沃兹测试开发学社

软件测试 自动化测试 测试开发

隐私计算中的算子是个啥?可视化组合配置的算子解决方案了解下

Jessica@数牍

隐私计算 算子 隐私计算性能

iOS开发周报:XcodeGhost 事件提醒开发者提高安全意识,新版本 iOS 首周表现良好_移动_王巍_InfoQ精选文章