Hi. I’m codepapa.

Here are some thoughts of mine.

ruby gem的版本问题

在Mac OS X上安装CocoaPods时,出现了以下的错误:
ERROR: http://rubygems.org/ does not appear to be a repository
ERROR: could not find gem cocoapods locally or in a repository
可能被墙了,连个vpn吧,还有记得要sudo去运行。


svn在mac上的用法

Linux/Mac SVN

仓库地址

https://svn.bopomofo.net/appname/

为了传输安全,SAE要求统一使用https方式部署代码;

创建仓库

登陆SAE在线管理平台(http://sae.sina.com.cn),创建应用,成功后您即可以检出该应用代码。

例如,您刚刚创建了应用newapp,在本地执行:

svn checkout https://svn.bopomofo.net/newapp

第一次checkout时需要验证,用户名/密码为您的SAE安全邮箱和安全密码(非微博登陆账号密码,如已启用微盾动态密码,则此处填写“安全密码”+“微盾动态密码”)。

创建版本

假如,为newapp应用创建版本1

目前提供两种方式:

使用svn客户端

svn checkout https://svn.bopomofo.net/newapp #此处需要认证,用户名/密码为您的帐号和安全密码
cd newapp
mkdir 1
svn add 1
svn commit -m”add version 1 for newapp”

更新代码

更新代码前本地必须有一个工作目录(Working Directory),创建工作目录很简单,只需要检出(checkout)代码仓库即可。如,对于已经创建好的应用newapp,在本地执行:
svn checkout https://svn.bopomofo.net/newapp 输入安全账号和安全密码,即完成本地工作目录的创建。

上传代码
需要增加某个文件或文件夹,如部署wordpress到版本1。

svn checkout https://svn.bopomofo.net/newapp cd newapp/1
cp -rf /path/to/wordpress/ ./
svn add ./

svn commit -m”add wordpress”

修改代码
假如需要修改newapp应用版本1根目录下某个文件,如index.php,完整的操作流程如下:

svn checkout https://svn.bopomofo.net/newapp #如果已经checkout过了,不需要重新checkout。
cd newapp/1
vim index.php #这里编辑代码
svn commit -m “edit index.php”


Xcode 自动生成if语句的括号转行

习惯了大括号换行,在xcode里不习惯那种same line的style,于是可以这样做。
终端或者Finder定位到/Applications/Xcode.app/Contents/PlugIns/IDECodeSnippetLibrary.ideplugin/Contents/Resources,
然后对ystemCodeSnippets.codesnippets先进行备份,sudo cp SystemCodeSnippets.codesnippets SystemCodeSnippets.codesnippets.backup,然后用vim或者文本编辑器打开SystemCodeSnippets.codesnippets,然后用“/”来找”condition”,会找到这么一段代码:

<key>IDECodeSnippetVersion</key>
    <integer>1</integer>
   <key>IDECodeSnippetCompletionPrefix</key>
    <string>if</string>
    <key>IDECodeSnippetContents</key>
    <string>if (<#condition#>) {
<#statements#>
}</string>

,将第六行最后的花括号换到下一行.

<key>IDECodeSnippetVersion</key>
    <integer>1</integer>
    <key>IDECodeSnippetCompletionPrefix</key>
    <string>if</string>
    <key>IDECodeSnippetContents</key>
    <string>if (<#condition#>)
{
<#statements#>
}</string>

保存后重启Xcode就随心了。


Go Lang + Sublime Text 2 在Mac上的环境设置

之前一直在用liteIDE学习go lang,后来看到别人在sublime上用得也挺爽的,就尝试配置一下sublime来用go。
参照了http://my.oschina.net/Obahua/blog/110767 将go的高亮语法之类的加了上去,但是提示GOPATH找不到,echo了GOPATH是有的,但是sublime好像死活也找不到,于是找到这篇文章http://bbs.studygolang.com/thread-41-1-1.html打开GoSublime.sublime-settings: 找到”env”: {} 改为:”env”: { ” PATH”: “/usr/local/go/bin: PATH” ,”GOPATH”: “/Users/user/go的编写代码目录: $GOPATH”}, ,重启就好了,可以用了。


No architectures to compile for (ONLY_ACTIVE_ARCH=YES, active arch=armv7s, VALID_ARCHS=).

在弄木瓜项目移植到iOS的时候,我的Xcode升级到4.6.1版本,在上真机调试的时候,build出现了error:
No architectures to compile for (ONLY_ACTIVE_ARCH=YES, active arch=armv7s, VALID_ARCHS=).
出现的原因:armv7s是应用在iPhone 5 A6 的架构上的
解决的方式:
1,在Project target里“Architectures”设置为“Standard (armv7,armv7s)”
2,修改在Project target里“Build Settings”的“Valid Architectures”添加“i386”和“armv7”(Xcode4.6不再支持armv6,请去掉)
3,设置”Build Active Architecture Only”为“NO”。这样你build你的项目的时候就能在iphoe5和iphoe4s里执行。


Mac机连接局域网文件方法

如何在OS X访问其它主机

  &#8221;Finder-转到-连接到服务器&#8221;或者直接按&#8221;苹果+K&#8221;。这时候会显示3个主要的工具组:

  1、WORKGROUP:Windows工作组

  2、Local:局域网内所有可访问的主机,包括Mac/Windows主机

  3、MSHOME:Windows工作组(好象XP默认的都这个工作组)

  如果你想访问的主机没有显示出来,你可以使用以下方法进行尝试:

  1、Windows主机:smb://xxx.xxx.xxx.xxx

  2、Mac主机:afp://xxx.xxx.xxx.xxx

  其中xxx.xxx.xxx.xxx为该主机的局域网IP。类似于192.168.1.2

  另外好象连接XP的主机其实不用输入用户名和密码。直接回车就行了。


看Nexus 4的风潮有感

不久前谷歌四太子的低价发售,引起了全球“消费者”的疯狂抢预定。本来想预定的,但是服务器就是挤不进,后来想在网络上买,但是却比原价贵了很多,只能望而却步。
个人认为Nexus 4之所以能火得这么厉害,其实是因为价格,如果这样被疯狂得炒高价格,其实也失去了对他的兴趣。想想这个四太子,首先给人的印象是最新的Android系统(4.2)和便宜得不得了的价钱,在大部分想买的用户中,可能最大的诱因就是价格,而至于最新的系统与否,只是有少少的副作用。而对于那些奸商,在标价的时候用原价,进去交易时却被告知这是预订价,需要多退少补(根本都没有可能有多退的状况),最后交易价格比原价贵1k左右。实在是让人感觉到不爽。


iOS 6 API 新特性总结

1,使用ARC,这样就不用再为内存管理操心了。
2,你不再需要为你的属性(property)声明实例变量了。
3,你不再需要用@synthesize合成你的属性。自动合成机制会自动生成支持的实例变量并带一个下划线前缀。
4,采用将实例变量置于@implementation部分的方法要比放在公共的interface部分定义要好。
5,你不再需要为你的私有方法和IBAction方法做前置声明。
6,用类扩展好过创建一个私有的类别。
7,把你的IBOutlet属性放在类扩展。
8,你可以采用在类扩展里列举你的类符合的协议的方法比在公共interface里要好。
9,类扩展可以在.m文件里将只读属性重新声明为可读写属性。
10,如果你已经在Prefix.pch文件里导入过UIKit和其他的框架文件,就不需要再在其他文件里导入了。
11,使用类别在已经存在的类里增加功能(函数),甚至是UIkit类和Foundation类。
12,使用blocks去枚举数组或者字典,并在某些需要的地方可代替委托。
13,现在你可以使用数字可以用@符号,数组用@[],字典用@{}。
14,你可以用[]符号作为数组和字典的下标,有点像平常用的了。