7月2号,我们在联合创业办公社[People Squared,简称P2]举办了MShare的第二场线下的分享会:聊聊Android那些事。这次活动我们请到了问吧科技的张万新、新浪微博的高一航、宜信的徐金山分享他们在工作中的一些总结。下面是分享的题目及PPT:

本次活动中本来计划录屏,但是由于中间的操作问题,造成了最后的录制视频图像不全,无法观看,所以很遗憾本次没有录屏视频,以后我们会尽力做好。

MShare招募成员

Read More

这几天在筹划MShare第二期的Android的分享会(下面有图片介绍这次活动),有几个朋友问我你怎么不继续做iOS了(因为我做过第一期的iOS的分享会,效果还不错,介绍地址 一场站着听完的iOS技术分享会),怎么跑来做Android了呢?我说,也没有什么特别的原因,我一个做iOS的就是想去试试,尽量准备干货,看看能不能做一期还算不太差的Android的分享会。

在这次分享会上我们尽量促进大家之间的交流,因为我们发现,我参加过一些分享会,基本上都是听完了,旁边的人都不认识,更别说后期交流了。所以我想通过这样的活动,给参加的人创造一个能够交流的空间,交流的过程中我们进步的也会更快。我们希望通过交流分享,帮助程序员有一个提高。

另外本次活动准备的有点仓促,中间难免会有什么问题,或者做的不好的地方,我们会尽力在以后的活动中做的更好。

另外本次由MShare小组内的高一航负责组织,十分感谢他的辛苦组织。还感谢掘金coding慧点科技segmentfaultfir.imcocoachina推酷deveco开发者头条联合创业办公社[People Squared,简称P2]慕课网的帮助。

PS:本次活动招聘志愿者,报名请联系QQ 598660766 or 332666917。

介绍图:

可能有些人看到这个题目的时候,心里就会在想你丫吹什么牛逼啊,如果你真这么想,那就看看下面的图片吧。这次分享会从下午两点开始,五点半结束,总共三个多小时他们就已一直站着听完,我们其他的分享嘉宾直呼真爱啊。

下面来说一下这场分享会吧,这是我个人组织的一场iOS的分享会,分享的嘉宾都是我的朋友,分享的都是iOS的干货。这次分享涉及了下面的四个主题:

Read More

很久没有更新文章了,自己也感觉自己懒得要发霉了。为了让自己不至于发霉,今天开始继续更新文章。

本篇文章介绍一下3D Touch。3D Touch 是iPhone 6s推出的一项新的技术,利用该技术能够更快的预览内容,更加平滑的进行多任务等。Apple提供一下与3D Touch 相关的API:

  • UITouch有一个 force 属性用来检测用户按下的程度。
  • UIViewController提供了一个新的API,允许你展示新的view Controller的预览,这个预览成为 peek。此时继续用力,将会 pop 该预览,进入对应的View Controller 界面。
  • UIApplicationShortcutItem 是一个新的类,你能使用它给home屏幕上的icon添加快捷操作。

Getting Started

在这篇文章中将会使用一个叫做 Doodles(涂鸦) App, 这个APP 比较简单,就两个界面:列表+详情,截图如下:

Read More

终于整理到第八篇了,中途好几次都想放弃了,最终还是坚持下来了,我自己的计划应该除了这篇还有最多三篇就结束了吧。

回到正题,苹果最近几点一直在努力推行Storyboard,每年的WWDC都会针对Storyboard有一定的增强,今年也不例外,Storyboard添加了一些新的特性:

  1. 可以使用storyboard references将一个Scene链接到另一个storyboard中
  2. 使用scene dock给view controller添加附加的view
  3. 在navigation bar上添加多个button

Getting started

打开本节配套的工程,在模拟器上运行一下,看看都有什么功能。下面看一下代码 ChecklistsViewController.swift 显示checklist,ChecklistDetailViewController.swift 显示list中的每一个item,Main.storyboard 包含用户界面。这个App并没有完成,在本节中将会添加一些功能,完善该APP。

Storyboard references

如果你在一个大的项目中使用了storyboard,你将会慢慢感觉storyboard越来越大,会越来越笨重,并且还经常会发生冲突。这些导致了storyboard慢慢丢失了它的优势。

你可能已经通过将Scene分别放到多个storyboard中的方式解决了一部分的问题,但是同时也遇到了一些问题:在两个Scene之间的segue不能直接添加了,显示一个View Controller有时候必须通过代码创建显示。

Read More

继续接着上篇文章介绍UIStackView,这一篇将涉及到一些稍微深一点的知识点。

Getting started

首先回顾一下我们计划完善SpotInfoViewController需要完成的任务情况:

  1. 底部按钮间距不相同。 完成。
  2. 点击Hide按钮,底部的内容应该填充空白位置。 未完成。
  3. 交换what to see和weather两部分的内容。 未完成。
  4. weather详情隐藏的时候,rating部分纵向显示。

Converting the sections

在完成上面的任务之前,你需要将SpotInfoViewController中的所有的sections转换为使用stack view。在下面的内容中能够学到一下配置stack view的属性,例如alignment、distribution和spacing。

Rating section

Read More

Nuclide是Facebook开发的开发React Native的开发工具,基于Github的Atom开发,以Atom插件的形式存在。在MAC版Atom安装插件可以使用系统自带的插件安装方式安装:Atom->Preferences..->Install,搜索Nuclide-installer,点击install就可以安装Nuclide了。安装完了是不是很幸福,能开心的编程了。啊啊啊啊啊…..但是事实并非如此,打开编辑器发现根本不能用,卡成翔了,查看一下进程,发现有个AtomHelper CPU占用率超过100%了。去github查看issue发现好多人都遇到了这个问题。自己试验了半天找到了一种安装方式:

  1. 删除已经安装的Nuclide插件
    这里我是直接卸载Atom,这样能够删除安静。对于曾经安装的插件,记录下来,重新安装。
  2. 编译Nuclide
    https://github.com/facebook/nuclide下载Nuclide,终端进入下载后的目录,执行命令 ./scripts/dev/setup 。编译的过程中如果没有出现错误信息,就表示编译成功了。将文件夹重命名为nuclide,然后拷贝到~/.atom/packages/目录下。重启Atom,第一次启动应该比较慢,等启动结束后进入Atom->Preferences..->Packages,如果列出了nuclide,表示安装成功了。
  3. 升级flow
    这样安装后可能flow不能使用,因为.flowconfig文件末尾会有一个版本,如果我们本地版本低于其中配置的版本将不能使用flow,我们可以直接删除这个版本配置,这样就能使用了。但是这个并不是好的解决方案,好的解决方案是将flow升级到最新版本。在终端中执行如下命令:
    brew update
    brew upgrade flow
    

升级后应该flow就能正常使用了。

这样就能够正常的使用Nuclide了。

今天这是第六篇笔记,现在回过头去看,我也没有想到自己能够更新到第六篇。我算是一个比较懒的人了,现在已经不太喜欢动手敲代码了。在写这几篇笔记的时候,我需要一边看英文的文档,一边测试代码,还得考虑怎么能够写明白。这里有点说明,我的英语水平只是四级,语文水平只能用呵呵评价了,文章中的语句难免会有不通顺的地方,希望能够把语义表述清楚。

闲话多了,回到正题,这篇文章介绍UIStackView和一些Auto Layout的改变。

UIStackView我个人理解是为了解决使用Storyboard添加的约束需要经常变化的情况。我想我们可能都在开发中遇到过修改约束的情况,一般是把约束与一个outlet的约束link起来,然后代码修改,但是这个操作起来是不方便的。UIStackView通过修改一些简单的属性,例如alignment, distribution, and spacing,从而让UIStackView根据我们的修改自动调整内部的显示。

Auto Layout的改变主要是介绍layout anchors和layout guides。

Read More

最近公司的项目开始计划使用Swift,由于原先的工程都是使用OC编写的,不可能一下全部转换成Swift,所以采用OC与Swift混编的方式是最好的选择。这篇文章只是一个简单的介绍,并没有太高深的知识。

我新建了一个演示的OC工程,当然你可以使用你已经存在的OC的工程。如果我们想要在OC工程中使用Swift的代码,Swift的代码默认是使用module管理的,同样这里我们也需要把我们的Swift代码作为一个module暴露给我们的OC工程,修改下面的配置:

上面的修改了一个配置项,有一个Product Module Name在后面会使用。

Read More

在WWDC 2015上,苹果推出了multitasking,这个功能允许我们同时运行两个App,比如在看视频的时候,能够同时刷微博,由于是同时运行两个App,对于硬件的要求比较高,目前苹果并没有在所有的设备上面开放这些功能。下面就简单的介绍一下multitasking。

Getting started

在书中与本章配套的有一个工程Travelog,打开这个工程,在iPad Air 2模拟器上运行一下。我们切换横竖屏,你能看到类似如下的界面:

Read More