写点什么

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:003171
用户头像

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

关注

评论

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

几乎包含了市面上所有启动优化方案,学习路线+知识点梳理

android 程序员 移动开发

半路Android,开发5年才8K+-Android还能打吗,flutter瀑布流卡顿

android 程序员 移动开发

华为突遭谷歌釜底抽薪!官方安卓不再支持华为手机,一次违反常规的Android大厂面试经历

android 程序员 移动开发

架构实战营-毕业总结

Cingk

原来面试的时候写精通Glide,这样问我这样答,android编程权威指南

android 程序员 移动开发

架构训练营第1期 毕业总结

高远

十余年Android开发分享:Android 开发现状与未来,40道安卓面试

android 程序员 移动开发

尝试一下最新的OV框架

IT蜗壳-Tango

11月日更

初识 Jetpack Compose(二) :布局,移动智能终端开发报告

android 程序员 移动开发

十月的Android面试之旅,惨败在字节三面,幸斩获小米Offer

android 程序员 移动开发

历史上最简单的一道Java面试题,但无人能通过,2021国内知名大厂Android岗面经

android 程序员 移动开发

尝试一下最新的OV框架

IT蜗壳-Tango

11月日更

架构学习总结

俊杰

快速理解大O复杂度

ES_her0

11月日更

架构训练营第 1 期 模块九作业(毕业设计)

高远

动态加载 so 注意事项&案例,熬夜整理Android高频面试题

android 程序员 移动开发

华为花瓣搜索的新解读:让开发者透过垂直生态,掘金全球

脑极体

即将30岁的Android程序员,而立之年想跟大家说点什么,android适配屏幕大小

android 程序员 移动开发

架构训练营-总结

绝影

架构训练营

架构训练营毕业总结

喻高咏        

架构训练营

初级开发:我还在Android路上披荆斩棘,转眼就被大厂的程序员凡尔赛了

android 程序员 移动开发

参考微信模块化通信具体实现,android开发从入门到精通pdf下载

android 程序员 移动开发

YAML初探

程序员架构进阶

容器 yaml 配置管理 11月日更

谈JavaScript中纯函数与非纯函数

devpoint

JavaScript 纯函数 11月日更

厉害了,Android高级工程师教学,金九银十大厂面试解析视频

android 程序员 移动开发

厉害了,这竟然是毕业一年萌新的Android大厂面筋,赶紧来看看(1)

android 程序员 移动开发

写给软件工程师的 30 条建议,9次Android面试经验总结

android 程序员 移动开发

加拿大程序员趣闻系列 2_N _ 薪酬福利篇,史上超级详细

android 程序员 移动开发

华为手机刷微博体验更好?技术角度的分析和思考,字节跳动算法工程师总结

android 程序员 移动开发

厉害了,这竟然是毕业一年萌新的Android大厂面筋,赶紧来看看

android 程序员 移动开发

原来面试讲究方法!终于从【小公司一面就挂,androidui适配如何处理

android 程序员 移动开发

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