Xcode用archive只生成generic Xcode Archive的解决方案

引子

有这么一个工程,Archive的时候,只生成generic xcode archive,很奇怪为什么。想导入 ipa 或者 提交 Appstore都无从下一步。想直接使用 ApplicationLoader(在Xcode菜单中选择 Open Develop Tool 来打开) 直接打包 xxx.app 成 zip 上传,但想想又太原始。

解决方案

无奈之下找到解决方案,备忘如下:
1、点击主要工程,然后在右边分别点击PROJECT和TARGETS,在Building Settings中,搜索skip,设置为NO;
2、项目中包含的其他辅助工程,点击工程文件,然后在右边分别点击PROJECT和TARGETS,在Building Settings中,搜索skip,设置为YES;对每个子工程做类似操作;
3、再次archive,就正常了。

原因分析

工程文件中内嵌子工程时,才会有这个问题。

1
2
Skip install is NO for the main project target
Skip install is YES for framework (sub-projects) targets

参考

http://blog.csdn.net/ysysbaobei/article/details/16332677 http://stackoverflow.com/questions/10715211/cannot-generate-ios-app-archive-in-xcode-4-3

Linux、Mac上面ln命令使用说明

引子

作为一个Mac使用者,曾经也是玩Linux的。遇到一些命令也一般能搞定,但就是有一些命令让你哭笑不得,还真得写下点什么才行。 So, Let’s go.

正文

ln是linux中又一个非常重要命令,它的功能是为某一个文件在另外一个位置建立一个同不的链接,这个命令最常用的参数是 -s,具体用法是:ln –s 源文件 目标文件

当我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在某个固定的目录,放上该文件,然后在 其它的目录下用ln命令链接(link)它就可以,不必重复的占用磁盘空间。例如:ln –s /bin/less /usr/local/bin/less
-s 是代号(symbolic)的意思

【翻译】Mac系统事件,Key Code 与 KeyStroke

引子

业余时间写了一个 Reveal插件,其中涉及一些 MacOS 的开发以及 AppleScript 相关的东西,看到这个文章,比较受用,翻译出来分享给大家。 做这个事一方面是为了方便大家使用相关的技术,同时也能锻炼自己的翻译、文笔等,大家共同进步嘛。

正文

Mac 系统事件,Key Code 与 KeyStroke

Key codes 指代码键盘上对应键位的数字编码。KeyStroke 是实际的可见的键值。你可以使用这些数字编码或键值在 AppleScipt 中通过 “System Events” 来模拟键盘上某个键被按下,该功能需要在系统偏好设置的 “Accessibiliy” 中选中 “Enable acess for assistive devices” 选项。

你可以使用 key codekeystroke 在 AppleScript 中处理一些快捷键,这在很多时候比常规的脚本更有优势。事实上只要提到 iTunes, 如果不用 key codekeystroke 的话,部分快捷操作在 AppleScript 中是实现不了的。比如打开一个显示简介窗口或显示选项窗口。 接下来我们实验一下 key codekeystroke 命令在 AppleScript 中如何控制 iTunes.

SVN的大环境下使用Git管理

写在前面

很多同学可能都了解SVNGit的差异与优缺点,这部分我只是简单提一下我的观点,不是很全也不一定对,仅代表我的个人观点。如果大家对这个问题比较感兴趣的话呢,欢迎来Google百度一下。

Git与SVN简单对比

SVN

  • 优点
    • 以SVN Server为中心
    • 便利的权限管理
  • 缺点
    • 完全依赖中心,连接到Server才可以正常提交代码
    • 分支管理较“重”,一般就学习trunk, branches, tags就够了。

Git

  • 优点
    • 每个版本库都是中心
    • 非常方便的分支管理,甚至git-flow
    • 离线管理
  • 缺点
    • 权限管理(非要说的话,这个我确实没用Git管理过。不过pull-request可以控制一些写权限吧,也不知道这个理解对不对)

Let’s do it!

很多团队,因为权限(扯淡的控制欲)还是使用SVN,各种申请权限。少吐槽,来干货。

C与C++中static与const以及static Const修饰变量作用相关

最近感想

最近看池建强的《MacTalk人生元编程》,对程序员写作挺有感触的。 在以前在豆瓣上看到2.99这个价钱一直想买,支持一下池大。但各种原因吧(主要是看书太少,都只看纯技术类的),还是没买。最近真正玩起了微信,看池大的各种文章,再加上最近看一些其它人文的书,所以这本书就直接收入了。最大的感触就是:以后再也不直接转别人的文章
虽然最近博客的更新也在这种方面有一些改善吧,但看到以前要写出来的知识点,还是想直接转一下,哎。努力做到有自己的想法,让自己写的东西对别人来说有意义

正文

关于static, const, static const修饰符的作用,我想对于老程序员(老一辈的吧)或者C,C++很精通的人,可能这都不算什么。但我这C,C++一直没好好研究明白的,写了几年代码,这个东西也是老忘,真是羞愧啊!
所以特别对这块做一个整理,一方面是自己的理解,另一方面也是集成了自己看过的一些资料。希望能帮助对这方面不太了解的人吧,也希望自己能在这当中有所收获,最坏情况就当是个笔记好了。

SAE Python 输出log 的方法

背景

SAE真是很方便,可以免费做一些简单的Server自己来研究用。
但是学了一点python后,想在SAE里面玩一玩,发现在里面调试有点难。因为习惯了别的平台的Debug,一下子还是想研究,可是试了各种方案(包含SAE自己的ShellMiddleware),都没办法在SAE的环境中进行调试。在本地倒是研究好了pdb的相关使用,虽然使用起来还很初级。
最后只能使用Log的方式了。

解决方案

1
2
3
print ("xxxx %s %d" % ("asdf", 5))
# 或
logging.debug("debug log xxxxx")

这个Log大家应该都很熟悉啦(我还不熟悉~),但是在SAE后台中如何查看呢?

日志内容在 应用»日志中心»HTTP 中查看,类别为debug

可能老版本的SAE可能不支持吧,至少现在是有的。
希望能对大家有所帮助。

另外,关于logging的使用,我也写了一个module,封装了一些东西。等对python的模块的规范熟悉一些后,会把这部分开源如来(虽然大家可能都有自己的)。

Python时间,日期,时间戳处理

最近在练习python,看书看到好多东西,不过需要用的时候还会想不起来,还是万能的Google牛啊,从Google学习咯~

1.将字符串的时间转换为时间戳

方法:

1
2
3
4
5
6
7
a = "2013-10-10 23:40:00"
# 将其转换为时间数组
import time
timeArray = time.strptime(a, "%Y-%m-%d %H:%M:%S")
# 转换为时间戳:
timeStamp = int(time.mktime(timeArray))
timeStamp == 1381419600

2.字符串格式更改

如a = “2013-10-10 23:40:00”,想改为 a = “2013/10/10 23:40:00”
方法:先转换为时间数组,然后转换为其他格式

1
2
timeArray = time.strptime(a, "%Y-%m-%d %H:%M:%S")
otherStyleTime = time.strftime("%Y/%m/%d %H:%M:%S", timeArray)

3.时间戳转换为指定格式日期:

方法一:
利用localtime()转换为时间数组,然后格式化为需要的格式,如

1
2
3
4
timeStamp = 1381419600
timeArray = time.localtime(timeStamp)
otherStyleTime = time.strftime("%Y-%m-%d %H:%M:%S", timeArray)
otherStyletime == "2013-10-10 23:40:00"

Python中有中文注释或输出时报错问题解决

执行Python代码时,如果有中文注释,提示:

1
SyntaxError: Non-ASCII character '\xe7' in file D:\python\Test\hello\getjpg.py on line 13, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details

与编译器还无关,不管是Sublime写完在命令行跑还是Eclipse。

解决办法: 在文件第一行或第二行加入以下代码:

1
# -*- coding: utf-8 -*-

Octopress重装或者多台电脑上并行写作同步

原文:http://blog.csdn.net/hankai1024/article/details/12786201

有日子没写博客了,换工作,忙新技术,换机器。。还是得收拾起来 时间不早了,明天还得上班,简单把这次多台机器的事记一下吧,大家如果遇到同样的问题可以看原文或者留言。

  • 首先,我安装并使用过很长octopress,并且比较熟悉,也很好的管理着mastersource分支
  • 先用Github.app把工程clone下来,切换到source分支
  • 根据原文的提示,另外需要把master clone_deploy目录中
1
2
3
cd your_blog_dir(maybe shjborage.github.com)
# 会自动创建目录,默认即master分支,如果有异常,可考虑 git clone -b master xxx
git clone git@github.com:username/username.github.com.git _deploy
  • 再简单进行一些环境的安装
1
2
3
4
cd your_blog_dir(maybe shjborage.github.com)
ruby --version #Ruby 1.9.2 or later
gem install bundler # maybe sudo is needed
bundle install #install jekyll and rake ...
  • 到目前为止,应该主要的步骤就这样了,享用吧。
  • 再补充一句,如果是多台同时使用的话,管理好source分支即可
  • Have a good day!