Xcode BuildNumber 自动更新

最近为了区分发包的id,从晚上找了一段代码
原理就是,先用PlistBuddy获取当前的buildid,之后+1,然后再更新plist文件

1
2
3
buildNumber=$(/usr/libexec/PlistBuddy -c "Print CFBundleVersion" "${PROJECT_DIR}/${INFOPLIST_FILE}")
buildNumber=$(($buildNumber + 1))
/usr/libexec/PlistBuddy -c "Set :CFBundleVersion $buildNumber" "${PROJECT_DIR}/${INFOPLIST_FILE}"

From: https://gist.github.com/sekati/3172554

iOS Tips

Code Snippets

去除空白TableViewCell的分割线
1
listTable.tableFooterView = [UIView new];
让header与cell一起滚动,不在顶部悬停
1
设置为UITableViewStyleGrouped
阅读更多

Mac Tips

一些常用的命令备忘

显示隐藏文件

1
defaults write com.apple.finder AppleShowAllFiles -bool true;killall Finder

不显示隐藏文件

1
defaults write com.apple.finder AppleShowAllFiles -bool false;killall Finder

10.11后开启第三方硬盘的Trim

1
sudo trimforce enable

释放不活跃的内存

1
sudo purge

允许任何来源的软件进行安装

1
sudo spctl --master-disable

为什么使用Mantle

项目地址: https://github.com/Mantle/Mantle

今年上半年在两个项目中都将Model层替换为Mantle,大大减少了开发中实体转换的时间;选择mantle的初衷是因为看到了大神的blog,里面的应用场景也是在开发中我们经常遇到的情况:
iWangKe.me - 为什么唱吧iOS 6.0选择了Mantle

对比一下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# http://bubbler.labs.douban.com/j/user/wheats

{
"homepage": "http://www.douban.com/people/wheats",
"icon": "http://img3.douban.com/icon/u46721592-5.jpg",
"userid": "46721592",
"r": 0,
"stats": {
"board": 0,
"bub": 0,
"collect": 0
},
"title": "welsonla",
"uid": "wheats"
}

阅读更多

关于Xcode单元测试(XCTest)的一些总结

单元测试可以让我们快速检测项目接口与一些功能的可用性,这次编写了大量的单元测试,让我对之前的一些疑惑有了一个透彻的理解

  • 单元测试中,可以直接import我们项目中的类
  • 想要执行的方法,必须使用test开头,testLogin会被执行,userLogin这样的方法名不会被执行
  • 单元测试没有头文件,一些变量声明,写在interface里面
  • 对于一些变量的初始化,放到setup里面进行
阅读更多

Instruments无法启动

最近在iOS7的系统上使用Instrument想检查内存的leaks,启动时候总是提示失败,花了些时间,解决了这个问题,做下笔记。

阅读更多

Cocoapods 使用

1
gem install cocoapods

cd到你的项目的根目录,就是跟project文件同级,建立Podfile文件

1
touch Podfile

加入平台版本,(5.1可以省略,但是最好在podfile中加入,因为一些ARC相关的类库不加的话,会提示错误)

1
platform :ios,'9.0'

搜索第三方的oc库

1
2
3
4
5
6
7
pod search fmdb

-> FMDB (2.0)
A Cocoa / Objective-C wrapper around SQLite.
- Homepage: https://github.com/ccgus/fmdb
- Source: https://github.com/ccgus/fmdb.git
- Versions: 2.0, 1.5.1, 1.5 [master repo]

通过搜索,我们已经找到了该类库的版本的名字,只需要将这些内容加入到podfile文件中即可

1
2
platform :ios, '5.1'
Pod 'FMDB','2.0'

然后执行下面的命令,将这些类库加到到本地

1
pod install

修复Cocoapods,重置repo

1
2
3
pod repo remove master
pod repo add master https://github.com/CocoaPods/Specs.git
pod repo update

减少更新安装的时间,只安装或更新必要的库

1
2
pod install --verbose --no-repo-update
pod update --verbose --no-repo-update

之后将会生成一个workspace文件,以后我们打开项目的时候,就打开workspace文件即可,项目和其所需要的类库都以sub project的方式加到了这个workspace下面