苹果官方的 Messages 在 iOS 10 推出了非常重大的更新,可能主要是想从其他 IM 巨头手里抢点市场份额回来,包括 Facebook Messenger, Wechat 和 Snapchat. 一个重要的新功能是,用户可以直接在 Messages 里使用第三方开发者开发的扩展插件了.这个功能是在 iOS 8 引入的 Extension 技术基础上实现的,可以参考我们往年系列里 Sam Davies 写的文章.Messages 插件的一大好处是,它是可以独立于 app 存在的,不用跟父…
本文介绍了 iOS 10 的一个重要更新:Messages 应用支持第三方插件了.作者用一个小游戏作为例子,说明了插件开发从建工程开始,到绘制界面.收发消息的全过程. <iOS 10 day by day>是 shinobicontrols 公司编写的系列博客,介绍开发者需要了解的 iOS 10 新特性,每周更新.本系列翻译(文集地址)已取得官方授权.仓薯翻译,欢迎指正:) Shinobicontrols 为 iOS 和 Android 开发者提供高性能.响应式的 UI 控件 SDK,尤其是图…
续上篇,在简单闹钟的例子上,在通知界面上显示图片动画,并用通知关联的按钮更新通知界面.介绍 iOS 10 通知 API 的扩展:自定义通知显示界面. 新框架可以统一处理本地通知和远程推送,同时增加了一些新 API 来控制等待中和已发出的通知. 以上这些都很棒,不过苹果还在通知方面更进一步,让开发者能添加一个自定义的通知界面,用户收到通知之后可以选择查看这个自定义界面.要实现这个功能,需要添加一个单独的 UserNotificationsUI 框架.这个框架的 API 特别简单,只含有一个公共的…
iOS 10 最重要的变化可能就是通知 API 的重构了.本文用一个简单闹钟的例子介绍了 User Notification 的 API 变化和新功能. 简介 很久以前,开发者就可以在 iOS 里预约本地通知了,但是之前的 API 缺乏细粒度的控制能力.幸运的是,苹果在 iOS 10 中改善了这一点,发布了新的 UserNotifications 框架.这个框架在处理本地通知及远程推送方面的 API 丰富了许多,同时写法更加简便. 本地通知(local notification)是用 app 来…
本文介绍了 Xcode 8 的新出的多线程调试工具 Thread Sanitizer,可以在 app 运行时发现线程竞态. 想想一下,你的 app 已经近乎大功告成:它经过精良的打磨,单元测试全覆盖.只剩下一个问题:有一个很严重的 bug,但是是偶发的,你已经花了好几个小时尝试修复它却一无所获.问题到底出在哪里呀? 这种情况经常是多个线程访问同一块内存造成的.我可以大胆猜测,多线程的 bug 是许多程序员的梦魇.这类 bug 非常难定位,而且只有特定条件下才能重现:所以找出问题的原因确实困难重重…
曾经的黑暗年代 用基于 block 的 UIView animation 来编写 view 属性(frame, transform 等等)变化的动画非常简单.只需要短短几行代码: view.alpha = 1 UIView.animate(withDuration: 2) { containerView.alpha = 0 } 你可以指定动画结束之后调用的 completion block.如果默认的匀速动画不能满足你的要求,还可以调整时间曲线. 但是,如果你需要一种自定义的曲线动画,相应的属性…
9 月底,苹果正式在北京成立了苹果中国研发中心.近几年,我们也在每年更新的 iOS 系统中不断看到,苹果对中国市场的关照.从早前的九宫格输入法,到最近的骚扰电话拦截,都照顾了国内用户的需求. 在 iOS 10 中,除了 骚扰电话识别和拦截 功能的加入,苹果其实还专为国行 iPhone 制定了一个「联网权限」功能1. 它是什么 相信已有不少人早就注意到这个功能.毕竟在 iOS 10 中,每当你打开一个新安装的 App 时,应用除了可能会弹出请求授权访问相册.推送通知.获取定位这些熟悉的权限之外,还…
第一. 介绍(原文作者 澳大利亚19岁少年--Davis Allie ----原文地址) 随着iOS10的发布,苹果对开发者开放了Messages应用程序,开发人员现在可以创建他们自己的各种类型 并且可以内联iMessage内容的 iMessage apps,包含简单的表情包到可以交互的复杂界面. 在这个教程中, 我将会为你介绍新的framework--Messages framework, 并且为你展示如何创建属于自己的iMessage Apps; 这个教程的前提是你在OS X El Capi…
引言:通过上一篇博客我们知道了怎么样去通过终端来安装CoCoapods,这一篇我们着重与用第三方插件来安装CoCoapods: 1. 首先在提下链接下载插件 https://github.com/kattrali/cocoapods-xcode-plugin 2.下载到桌面后,打开运行 一次 3.强退出Xcode 4.再次打开Xcode 选择Xcode菜单栏上的pruduct------Create/editor profile -------将profile中其他删除掉,只留下 pod 'po…
英文:shinobicontrols 译文:戴仓薯 链接:http://www.jianshu.com/p/4244cf130478 [iOS 10 day by day] Day 1:开发 iMessage 的第三方插件 [iOS 10 day by day] Day 2:线程竞态检测工具 Thread Sanitizer <iOS 10 day by day>是 shinobicontrols 公司编写的系列博客,介绍开发者需要了解的 iOS 10 新特性,每周更新.本系列翻译(文集地址)…