【AICon】探索RAG 技术在实际应用中遇到的挑战及应对策略!AICon精华内容已上线73%>>> 了解详情
写点什么

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

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

关注

评论

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

一文了解NB-IoT四大关键特性以及实现技术

华为云开发者联盟

IoT 网络 NB- IoT 物理信号 窄带

模块一作业

berserker

架构实战营

如何用 Nacos 构建服务网格生态

阿里巴巴云原生

微服务容错组件Hystrix设计分析

慕枫技术笔记

分布式 后端 熔断

Golang:定时器的终止与重置

Regan Yue

定时器 Go 语言 8月日更

女朋友问我 LB 是谁?

程序员鱼皮

Java 负载均衡 架构 后端 技术选型

教你使用ApiPost中的全局参数和目录参数

Proud lion

大前端 测试 后端 Postman 开发工具

使用mock模拟登录接口数据

与风逐梦

大前端 后端 Mock

关于C++中“不能返回对象引用”的思考

她的男人是程序员

Go- 切片的定义

HelloBug

slice Go 语言 切片

Go- 切片的使用

HelloBug

Go 语言 切片 追加 拷贝 扩缩容

docker入门:极简方式发布springboot

小鲍侃java

8月日更

用零代码开发应用到底要不要IT管?

明道云

干货!4大实验项目,深度解析Tag在可观测性领域的最佳实践!

观测云

可观测性 dataflux tag ngix

关于告警管理的软件,您还只知道Pagerduty吗?

睿象云

运维 告警 运维平台 智能告警 告警管理

Go- 数组

HelloBug

数组 Go 语言

面试必备常见存储引擎与锁的分类,请查收

阿Q说代码

MySQL innodb 共享锁 意向锁 8月日更

从源码分析创建线程池的4种方式

华为云开发者联盟

Java 工具 高并发 线程池 Executors

云小课 | 华为云KYON之VPC终端节点

华为云开发者联盟

云小课 KYON企业级云网络 VPC终端节点

WebRTC中的RefCountedObject解析

她的男人是程序员

华为云专家向宇:工欲善其事必先利其器,才能做数据的“管家”

华为云开发者联盟

云原生 物联网 时序数据库 时序 GaussDB(for Influx

仿照Hystrix,手写一个限流组件

码农参上

限流 Hystrix 8月日更

通过明道云实现培训机构客户管理

明道云

公司新来了一个质量工程师,说团队要保证 0 error,0 warning

华为云开发者联盟

DevOps 程序 华为云DevCloud 静态代码检查 质量工程师

模块一作业

当归

浅析智慧交通有哪些应用场景?

一只数据鲸鱼

数据可视化 智慧城市 智慧交通 城市交通

注意,开源Redis被爆高危漏洞,攻击者可远程注入代码

华为云数据库小助手

华为云 GaussDB GaussDB ( for Redis ) 华为云数据库

【“互联网+”大赛华为云赛道】GaussDB命题攻略:支持三种开发语言,轻松完成数据库缓冲池

华为云开发者联盟

数据库 华为云 GaussDB 互联网+ 缓冲池

分析微信朋友圈的高性能复杂度

Rabbit

架构实战营

餐饮店加盟该如何推广?

获客I3O6O643Z97

抖音、快手获客系统

我在组内的Nacos分享

捉虫大师

微服务 dubbo nacos 服务发现

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