DROP.

 • 

什么时候 能够把AE模版里面那种Motion Graphic 以及Behance上各种近未来HUD的那种精髓 —— 简练 速度 力量 带到软件动效中去 相信使用软件也能够感受到类似于看科幻电影般的快感吧

Cocoapods新建pod教程

 • 

JZMultiChoicesCircleButton

介绍

首先 庆祝我有了第一个Pod ^_^
名字叫 JZMultiChoicesCircleButton 是一个三维的多选择按钮
链接:CocoaControls / Github / Dribbble

安装

(以下所有介绍 有加粗的内容是需要替换为你自己的)

gem install cocoapods

我目前使用的是0.39.0版本 你可以通过执行

pod --version

查看你的版本

总览

1.写好你的库 划分好你需要打包哪些东西 图片素材 音频素材 等等
2.使用 pod lib 命令开启一个Pod模板 然后更新模板说明和版本号
3.修改模板内容
4.发布到Github以及其它地方

划分

比如说我现在写了一个叫做 JZMultiChoicesCircleButtonUIView 主要内容有:

JZMultiChoicesCircleButton.h
JZMultiChoicesCircleButton.m
CallbackWrong.png
CallbackSuccess.png

可以看到 这就是我需要打包在Pod里面的所有内容了 把他们的位置都记录好 等待马上迁移至Pod里面

创建模板

打开Terminal cd到一个你认为合适的位置 执行

pod lib create JZMultiChoicesCircleButton

(JZMultiChoicesCircleButton 请替换为你自己的Pod名称)
Terminal会询问以下几个事项:
编程语言:ObjC / Swift
是否包含Demo程序: 是 / 否
有没有用测试框架: 有 / 没有
Prefix是什么: 空 / 你的Prefix
填好以上内容 Cocoapods 会打开一个Xcode工程文件
(如果选择了“包含Demo程序” 新建Pod的工程文件时 会在JZMultiChoicesCircleButton本身的Target之外新建一个JZMultiChoicesCircleButton_Demo的Target 用于部署Demo)

修改模板

需要修改的有:
.podspec:描述Pod的内容
README:用于在Github上展示
LICENSE:默认MIT

从Xcode中查看这个路径下:

JZMultiChoicesCircleButton/Podspec Metadata/JZMultiChoicesCircleButton.podspec

进行修改**.podspec** 具体修改内容为

  s.name             = "JZMultiChoicesCircleButton"
  s.version          = "0.1.0"
  s.summary          = "Multi-choices button with 3D parallax effect."

name:Pod的名称
version:版本号
summary:一个简介

  s.homepage         = "https://github.com/JustinFincher/JZMultiChoicesCircleButton"
  s.license          = 'MIT'
  s.author           = { "Fincher Justin" => "zhtsu47@me.com" }
  s.source           = { :git => "https://github.com/JustinFincher/JZMultiChoicesCircleButton.git", :tag => s.version.to_s }
  s.social_media_url = 'http://fincher.im/'

homepage:Github项目地址 如果还没创立可以先去创建一个
license:许可证选择
author:姓名和邮箱
source:Github 附有版本号的tag的clone地址
social_media_url:默认推特地址

  s.platform     = :ios, '7.0'
  s.requires_arc = true

  s.source_files = 'Pod/Classes/**/*'
  s.resource_bundles = {
    'JZMultiChoicesCircleButton' => ['Pod/Assets/*.png']
  }

platform:最低运行系统版本
requires_arc:ARC或者MRC
source_files:文件目录内的源文件地址
resource_bundles:资源文件地址 在我这里是指 Assets文件夹里面所有的png文件 并且bundle名称和Pod同名

从Xcode中查看这个路径下:

JZMultiChoicesCircleButton/Podspec Metadata/README.md

写好你的介绍 用法 以及一些其他的东西

添加内容

从Xcode中查看这个路径下:

Pods/Development Pods/JZMultiChoicesCircleButton/Pod

里面有文件夹

Classes

里面有个叫ReplaceMe.m的文件 删除即可
新建一个文件夹在Pod层级,名字叫Assets好了...现在Pod里面有两个文件夹

Assets
Classes

把**.h.m**文件拖入Classes里面
把图片文件拖入Assets里面 不要用.xcassets.... 直接拖入@1x @2x @3x的png就好 如图:
Assets
好 这个时候 Pod本身就完工了

第一次Push

为什么现在就要Push?
原因是后面我们要添加Demo 而这个时候我们的Pod还没有发布到Github 没有办法进行git clone 也就没办法pod install 这个时候 我们的Demo是没办法导入头文件的
让我们先验证下我们的**.podspec**有没有写完整

pod lib lint JZMultiChoicesCircleButton.podspec

JZMultiChoicesCircleButton.podspec 替换为自己的podspec)
按照提示修改 直到没有问题 有个需要注意的是**.podspec**默认的社交网址是推特 这个在国内进行验证的话需要保证Terminal能够访问到 否则会出现验证错误
现在就可以Push了

git add .
git commit -m “Initial Commit"
git remote add origin https://github.com/JustinFincher/JZMultiChoicesCircleButton.git
git push -u origin master

(git remote add origin 替换为你自己的Github仓库地址)

添加Demo

如果在之前的Create命令中选择了创建Demo 那么就可以添加了
首先 需要进入demo文件目录执行 Pod install

> cd Example 
> pod install
Analyzing dependencies
Fetching podspec for `JZMultiChoicesCircleButton` from `../`
Downloading dependencies
Installing JZMultiChoicesCircleButton 0.1.0 (was 0.1.0)
Generating Pods project
Integrating client project

从Xcode中查看这个路径下:

JZMultiChoicesCircleButton/Example for JZMultiChoicesCircleButton

这就是你的Demo目录 现在可以导入头文件 写下你的示范代码了

需要注意的一点:

这个时候 如果你写的库中使用图片用的是[UIImage imageNamed:@"xxx"]的话 你有可能发现图片不会显示出来
需要修改你的库 将其中的

CallbackIcon.image = [UIImage imageNamed:@"xxx"]

修改为

    NSString *bundlePath = [[NSBundle bundleForClass:[JZMultiChoicesCircleButton class]]
                            pathForResource:@"JZMultiChoicesCircleButton" ofType:@"bundle"];
    NSBundle *bundle = [NSBundle bundleWithPath:bundlePath];

    CallbackIcon.image = [UIImage imageNamed:@"xxx" inBundle:bundle compatibleWithTraitCollection:nil];

(修改JZMultiChoicesCircleButton 为你自己的Class和resource_bundles 名称)
也就是说 任何资源文件 无论xib png jpg 都要制定bundle为Pod的resource_bundles 有关resource_bundles具体在之前的podspec中设置

s.resource_bundles = {
    'JZMultiChoicesCircleButton' => ['Pod/Assets/*.png']
}

第二次Push

首先 全部推至Github
然后加个tag

> git tag 0.1.0
> git push origin 0.1.0
Total 0 (delta 0), reused 0 (delta 0)
To https://github.com/JustinFincher/JZMultiChoicesCircleButton.git
 * [new tag]         0.1.0 -> 0.1.0

验证是否一切完成

pod spec lint JZMultiChoicesCircleButton.podspec

出现

> pod spec lint JZMultiChoicesCircleButton.podspec 
 -> JZMultiChoicesCircleButton (0.1.0)
Analyzed 1 podspec.
JZMultiChoicesCircleButton.podspec passed validation.

注册一个Trunk的session

pod trunk register zhtsu47@me.com 'Justin Fincher' --description='Macbook Pro 13 2015'

推送至Cocoapods

pod trunk push JZMultiChoicesCircleButton.podspec

COOL!你现在有了一个自己的Pod~

接下来

参考

1.http://code.tutsplus.com/tutorials/creating-your-first-cocoapod--cms-24332
2.http://stackoverflow.com/questions/25817738/access-resources-in-pod
3.http://guides.cocoapods.org/making/getting-setup-with-trunk.html

懒癌

 • 

从北京回来一个星期了 现在还是什么都不想做
对于我来说 北京的几次经历让我明白另一种可能性 一种自己想过的生活 完全自由 事情也容易很多的生活
具体说来 不用去上自己不想上的课 想学什么就去学什么 有大把的时间不用浪费在毫无意义的事物上 周围的人和事物有更高的期望和估值 但并不因此显得浮夸 因为有真正专业的人在操作
Um...每次遇到这种情况 我的效率就会彻底为0 也可以说是懒吧

无题

 • 

“当我刚开始使用手榴弹的时候我相信很多事情 后来我只相信手榴弹”

SO WHAT'S NEXT?

 • 

~~和陈叔聊天 说到我们学校软件创新比赛 还没有demo 各队队员就开始各自自称CEO/COO/CDO等等 我简称他们为CXO Kit
后来又谈到 八九月份有想过成立NodeX外包公司 做房地产方向的手机软件 但是后面经济不好 房地产也跟着没钱 整个事情一下子变得遥遥无期
的确挂靠学校孵化器是可以 但我并不想让NodeX停留在那个地步 没有几个东西能够从学校的孵化器真正的走出来 因为学校的孵化器没有风险 也就没有利益 而我想要NodeX 即使是个小皮包公司(也只能是) 都要保持每一个事情都是看向钱
今年的SegmentFault Hackathon 我们做的东西 和我五月份提交给学校App大赛的东西 在技术上是一回事 因为用的是一个AR SDK 但结果很不一样 而且我能想象得到如果是Hackathon的作品提交给App大赛的评委 结果只会更糟 因为那种水平的比赛 评委没有一个人用Mac 自然就没有拆装的需求 但在Hackathon的现场 我看到90%的电脑都是Macbook ifixitAR的目标人群是这些人 而且可以延伸到更多的拆装教学需求里面
很多事情 或许到了更高的视角 才能确认之前的决定是否是对的 ~~

About Orbital Epoch.

 • 

English Ver.
(sorry for my poor english)
I had posted my in-prototype-state space sim game to indieDB :-)
For now the game has the name "orbital-epoch", I may change it later as long as I think it is no longer cool.
It would take 1-2 years to make it, maybe more, considering modeling (all spaceships, stations, cities on planets will be modeled by me), texturing (UV, PBR stuff), Game Logic (for now I don't code, I use blueprint), Model Rigging, Sounds ,Animations and others will take lots of time.
For now the game's goal is making a game feels like the old "freelancer" game (free space, land on planets through a gate, combat with super big ships), on PC/Mac/iOS/VR platforms. More features will be added if I figured out how procedural generation works.
I wish I would get much time as I can, because there are college homework, out-source jobs ( else I won't have money to buy a workstation) and other things to do.

ORBITAL EPOCH


Orbital Epoch 会在我有时间的时候尽力去做 当然目前还需要解决一些问题 比如我要再接一份外包 然后用挣的钱去买台工作站 (MBP无论建模还是贴图都很吃力)然后我才能开始主要的开发工作
以上

消耗成本的进化

 • 

如果说 真的保证什么数字消费品都需要正版 那么会发生什么呢?
可以预见的是 学校机房的大部分软件都将换一番 甚至使用Linux也不足为奇 那样的话 倒是比较有趣了 国内的网游厂商 或许会比软件厂商 更快地发行Linux版 谁会和钱过不去呢
另外一个就是 对于家里买电脑都比较困难的家庭来说 想要再去买那些软件 更是困难
虽然 很多大神都是从电脑城几块钱一张的Adobe盗版成长起来的 我不知道这个是国内的特例 还是说 的确有这么一个情况:
(在商业软件比自由软件在某个行业中间应用更主流的情况下)
整体购买力无法满足Copyright的国家里 有Pirate and Crack这么一个不受主流支持的渠道 让某些家庭的孩子们能够得到 更高层级家庭才能够获得的软件条件 因此获得了在软件技术上赶超的可能性 而如果没有这么一个渠道 或许就不会有从五块钱盗版碟成长出来的大神们
这算是什么呢?这可以说是一种隐形的 信息获取的阶层分级和阶级流动了 但流动的方式却没有公开的窗口 而是通过盗版碟完成的?
扯远点,
盗版是不受主流支持的 不过究竟是因为正版获得的利益让正版成之为主流 还是道义上的正确使之?
从盗版成长起来的大神们 工作的内容 却又是极其注重Copyright的(毕竟使用行业软件的目的就是赚钱) 这算是成功地进行了阶层流动 还是一种对原有环境的背叛?

Renewals of complete faith

 • 

前几天又看了一遍了不起的盖茨比电影版 才发现一个我一直以来没有注意的情节
Gatsby 在之前和Nick 讲述他的身世之时 说自己世世代代去牛津上学 然后战争爆发 才去参军
但在后来Tom 和Gatsby 在Plaza Hotel里面一番争论 这时候Gatsby 变了说辞 说他去牛津是战争后提供给军官的学习机会 -- 意思是是先参加了战争才去了牛津 所以让Tom 更加怀疑也不足为奇
而我之前 不论读原著 还是看电影 到这里都没有感到任何异常 不是健忘 忘掉了之前盖茨比对尼克的自述 而是感觉逻辑并不违和 -- 就如同Nick 在当时对Gatsby 的感受一样:

Tom glanced around to see if we mirrored his unbelief.
But we were all looking at Gatsby.

‘It was an opportunity they gave to some of the officers
after the Armistice,’ he continued. ‘We could go to any of the universities in England or France.’

I wanted to get up and slap him on the back. I had one of those renewals of complete faith in him that I’d experienced before.

I had one of those renewals of complete faith in him that I’d experienced before.

(Untitled)

 • 

之前是不怎么上知乎的 但是最近几乎每晚都会在床上刷下知乎的Timeline 因为关注了一些做计算机图形学的人 总能看到很有趣的知识
比如之前有一篇讲述PBR的文章:《基于物理着色(一)》,之前学习使用Unity 5和Unreal 4的时候 对材质的属性一概不知 只会把做好的UV拖入基本颜色里面 当然效果是比较简陋的 于是最近在恶补这些东西
还有就是 最近学会了点建模 然后准备找个时间继续学贴图制作 使用MODO的时候我发现可以bake法线贴图 但我还没找到合适的文档来学习
学建模的原因大致就是 想做游戏 对于我这种入门都不算的爱好者来说 首先最大的困难不在于逻辑(AI/关卡)编写 而在于Asset的缺失 没有模型 没有贴图 没有动画 就没有办法搭建最基本的游戏场景 这时候就算能够写逻辑 也没有一个可以运行的Demo 所以学习的热情肯定就降低了很多 因此先学习建模和贴图制作 缺什么就做什么 然后在此基础上 把美术的流程走一遍 同时就可以写逻辑了
所以说 做一个indie game developer其实需要的技能满多的 并不是很多人想的那样 特别是现在已经用很牛逼的中间件做游戏的情况下 也不是随口就能完成的