一:命令行使用及安裝配置
作為一個(gè)iOS開(kāi)發(fā)者耐朴,命令行是我們必須使用的,下面我就簡(jiǎn)單介紹下命令行的魅力吧盹憎!第一次寫(xiě)博客筛峭,還是有點(diǎn)小激動(dòng) 的!E忝俊影晓!
注意:.如果系統(tǒng)有些文件夾不能創(chuàng)建镰吵,不能修改請(qǐng)看這里(命令行沒(méi)有中文符號(hào))
系統(tǒng):本人系統(tǒng)Mac OS X 10.12.5 XCode8.3
1.文件(夾)的顯示與隱藏
顯示:defaults write com.apple.finder AppleShowAllFiles -bool true
隱藏:defaults write com.apple.finder AppleShowAllFiles -bool false
2.Mac OS X 10.11+下root權(quán)限不能修改/bin 等文件夾解決辦法
重啟電腦,按住 Command + R挂签,進(jìn)入到恢復(fù)界面
打開(kāi)Terminal終端疤祭,然后輸入
csrutil disable
如果想改回來(lái),將disable改成enable即可
原因:10.11系統(tǒng)將Rootless修改成了饵婆,enable画株,所以我們需要關(guān)掉它, 重啟電腦
1.命令行界面配置
相信我們總是有那么點(diǎn)小任性,希望自己的編程軟件有自己獨(dú)特的主題啦辐,但是往往系統(tǒng)默認(rèn)的又不是我們想要,下面就教大家怎么修改自己漂亮的終端(Terminal)蜈项,
一般終端配置文件在~/.bash_profile
(沒(méi)有手動(dòng)創(chuàng)建)這個(gè)文件夾里面芹关,在后面添加
#for color
export CLICOLOR=1
#\h:W\u\$
export PS1='\[\033[01;33m\]\u@\h\[\033[01;31m\] \W\$\[\033[00m\]’
啟動(dòng)看看,效果是不是變樣了紧卒,另外可以修改 終端->偏好設(shè)置->下圖
接下來(lái)就是我自己配置的顏色怎么樣
2.vim簡(jiǎn)單配置
我只介紹簡(jiǎn)單的一種侥衬,配置用戶(hù)模式下的vim ,終端輸入
vim ~/.vimrc
//沒(méi)有就創(chuàng)建
文件里面輸入或者粘貼 (前面是我的行號(hào),不要粘貼)
set number "設(shè)置行號(hào)
syntax on "語(yǔ)法高亮
set tabstop=4 "tab鍵間隔距離4
set autoindent "自動(dòng)對(duì)齊
set gdefault "行內(nèi)替換
set ruler "在編輯過(guò)程中跑芳,在右下角顯示光標(biāo)位置的狀態(tài)行
7 set showmatch "高亮顯示對(duì)于括號(hào)
更多Vim轴总,請(qǐng)參考
Mac 下Vim配置: http://blog.sina.com.cn/s/blog_5a6efa330101cumx.html
Mac 下Vim命令:http://blog.csdn.net/xdrt81y/article/details/24062117
終端和Vim都配置好了,那么我們也開(kāi)始轉(zhuǎn)入正題了博个,
二.cocoapods安裝與使用
我們都知道cocoapods是一款xcode導(dǎo)入包的工具怀樟,給github緊密結(jié)合可以說(shuō)是天衣無(wú)縫,另外還有carthage 命令(后面再說(shuō))盆佣,這種包的管理模式大大節(jié)約我們來(lái)管理更新項(xiàng)目庫(kù)的時(shí)間往堡。開(kāi)始之前,先把我們電腦里面的準(zhǔn)備環(huán)境安裝或者更新一遍吧共耍!
1.Homebrew安裝與使用
這是一個(gè)非常強(qiáng)大的命令管理工具虑灰,和Ubuntu的 apt-get
命令類(lèi)似,在Mac下Homebrew好像默認(rèn)安裝了痹兜,安裝是(注意命令行沒(méi)有中文符號(hào))
ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)
其他基本使用
? brew search formula # 搜索軟件包
? brew install formula # 安裝軟件包
? brew remove formula # 移除軟件包
? brew cleanup formula # 清除舊包
? brew list # 列出已安裝的軟件包
? brew update # 更新 Homebrew
? brew upgrade # 升級(jí)軟件包
? brew home formula # 用瀏覽器打開(kāi)
? brew info formula # 顯示軟件內(nèi)容信息
? brew deps formula # 顯示包的依賴(lài)
? brew server # 啟動(dòng) web 服務(wù)器穆咐,可以通過(guò)瀏覽器訪問(wèn)http://localhost:4567 來(lái)通過(guò)網(wǎng)頁(yè)來(lái)管理包
? brew -h # 幫助
? brew versions formula # 列出軟件包的版本
//homebrew官方github:https://github.com/Homebrew/homebrew/tree/master/share/doc/homebrew#readme
2.RVM安裝(mac系統(tǒng)好像也是默認(rèn)安裝了)
安裝RVM
curl -L https://get.rvm.io | bash -s stable
安裝時(shí)可能會(huì)問(wèn)你sudo管理員密碼,以及自動(dòng)通過(guò)homebrew安裝依賴(lài)包字旭,等待一段時(shí)間后就可以成功安裝好 RVM对湃。 然后,載入 RVM環(huán)境(新開(kāi) Termal 就不用這么做了遗淳,會(huì)自動(dòng)重新載入的安裝完成后熟尉,檢查一下版本是否安裝正確
rvm -v
3.安裝 Ruby
列出已知的ruby版本 ,會(huì)顯示最新的版本
rvm list known
然后安裝最新洲脂,更新也是這個(gè)方法
rvm install 2.0.0
管理Ruby版本斤儿,需要執(zhí)行下面的命令將指定版本的 Ruby設(shè)置為系統(tǒng)默認(rèn)版本
rvm 2.0.0 --default
你也可以用其他版本號(hào)剧包,前提是你有用 rvm install安裝過(guò)那個(gè)版本,查看版本
ruby -v
4.準(zhǔn)備工作做好了往果,下面來(lái)真正安裝吧(前面的準(zhǔn)備工作對(duì)安裝cocoapods疆液,不是必須的,Mac OS內(nèi)置的有
$ sudo gem update --system // 先更新gem(建議VPN)陕贮,國(guó)內(nèi)需要切換源
$ gem sources --remove https://rubygems.org/
$ gem sources -a https://ruby.taobao.org/
$ gem sources -l //查看當(dāng)前源
http://ruby.taobao.org/
//上面是切換成淘寶的堕油,國(guó)內(nèi)好使,不影響pod版本
$ sudo gem install cocoapods // 安裝cocoapods
$ pod setup //更新遠(yuǎn)程pod庫(kù)到本地
//和安裝過(guò)程是一樣的肮之,再次查看版本
$ pod --version
1.21.1
//那么安裝成功了掉缺,想了解更多,去cocoapods官網(wǎng):https://cocoapods.org
三.git安裝與使用
1.下載dmg 安裝
地址: http://git-scm.com/downloads
2.命令行安裝
sudo git clone https://github.com/git/git
3.Homebrew安裝
sudo brew install git
4.另外還可以其他方式安裝戈擒,詳情看下面鏈接
Mac OS X Git安裝教程:http://www.cnblogs.com/ccdev/archive/2012/09/12/2682098.html
簡(jiǎn)易git安裝: http://www.cocoachina.com/bbs/read.php?tid=200557
git命令: http://justcoding.iteye.com/blog/1830388
git:更新問(wèn)題: http://segmentfault.com/q/1010000000095119
四.xcode build 命令行打包上傳
對(duì)于一個(gè)iOS開(kāi)發(fā)新手來(lái)說(shuō)眶明,讓給APP打包,感覺(jué)好麻煩筐高,下面帶你看命令的神奇效果
工程文件為test搜囱,首先切換到該目錄。
1.清除編譯對(duì)象
xcodebuild -target test clean
可以簡(jiǎn)寫(xiě)成 xcodebuild clean
2.編譯
方法1:xcodebuild -target test -configuration Release
方法2:xcodebuild -target test
可以簡(jiǎn)寫(xiě)成xcodebuild
執(zhí)行后會(huì)有bulid文件
3.打包
xcrun -sdk iphoneos PackageApplication -v ./build/Release-iphoneos/test.app -o ~/test.ipa
解釋?zhuān)?v 后面是app文件及所在路徑柑土,-o后面則是存放的ipa文件名及預(yù)存放的位置
這里感覺(jué)是不是還是很麻煩蜀肘,那么用腳本吧,
4.xcode_shell腳本步驟打包
1.打開(kāi)命令行
2.拖動(dòng)ipa-build(腳本(shell)命令文件)到命令行(需要下載腳本倉(cāng)庫(kù))
3.拖動(dòng)項(xiàng)目主目錄
4.回車(chē)就OK了(包在項(xiàng)目根目錄build文件夾里面)
詳情請(qǐng)看上面網(wǎng)址:http://blog.csdn.net/ccf0703/article/details/8588667
github腳本倉(cāng)庫(kù):https://github.com/webfrogs/xcode_shell
- 補(bǔ)充:看到腳本命令多么神奇了嗎稽屏,其實(shí)就是把上面直接xcodebuild命令寫(xiě)成腳本形式扮宠,其實(shí)喜歡腳本的朋友可以學(xué)習(xí)一下腳本的基本語(yǔ)法使用:給你們推薦兩個(gè)網(wǎng)站,
http://www.w3school.com.cn
http://www.runoob.com - 可以學(xué)習(xí)基本的語(yǔ)言狐榔,比如:PHP涵卵,Python,ruby,shell,這些都是腳本語(yǔ)言荒叼,當(dāng)然主流的語(yǔ)言也是應(yīng)有盡有轿偎,當(dāng)然學(xué)習(xí)這些腳本語(yǔ)言還得有一個(gè)編輯器,下面給你們推薦一款好用的:
- Sublime3(大概11MB):http://www.sublimetext.com/3 (有Mac被廓,windows坏晦,Ubuntu)版本,這是一個(gè)非常使用的工具嫁乘,各種插件功能強(qiáng)大昆婿,
五.Mac 安裝WinRar命令行解壓縮
有些人是不是給我一樣有強(qiáng)迫癥,不想電腦裝太多沒(méi)有用的軟件蜓斧,那么我們就來(lái)裝些命令行軟件吧
1.下載RAR 5.3.0 for Mac OS X(目前最新)國(guó)內(nèi)下載較慢仓蛆,官網(wǎng):http://www.rarlab.com/download.htm
2.雙擊解壓或命令行tar解壓文件:rarosx-5.3.0.rar 生成目錄rar
3.終端下:cd ~/Downloads/rar (即進(jìn)入rar目錄下)
4.使用如下命令分別安裝unrar和rar命令
安裝unrar命令:sudo install –c –o$USER unrar /bin
安裝rar命令:sudo install –c –o$USER rar /bin
注意:命令的空格,如果成功挎春,終端輸入:rar,可以查看rar命令幫助
5.壓縮文件
rar命令: rar a 生成文件名.rar 要壓縮的文件或文件夾
rar a my.rar your
6.解壓縮文件
rar e 你的文件或文件夾 (解壓到當(dāng)前文件夾)
unrar x test.rar (解壓到當(dāng)前文件夾)
7.如果文件名含有空格看疙,用單引號(hào) :'test.rar'
六.Mac WebSever & PHp推送
1:Mac端服務(wù)器配置
1.啟動(dòng)Apache
啟動(dòng):sudo apachectl start
停止:sudo apachectl stop
重啟:sudo apachectl restart
查看 Apache 版本 httpd –v
2. PHP
OSX 10.11.2 已經(jīng)預(yù)裝了 PHP 5.5.30豆拨, 編輯 httpd.conf
sudo vi /etc/apache2/httpd.conf
取消這一行前邊的注釋符號(hào) #
LoadModule php5_module libexec/apache2/libphp5.so
重啟 Apache
sudo apachectl restart
查看 Apache 信息
3.權(quán)限( 不是必須的)
為了方便程序在 ~/Sites 目錄下讀寫(xiě)
sudo chmod -R a+w ~/Sites/testsite
若擔(dān)心安全問(wèn)題,可以使用 _www 權(quán)限能庆,若這樣做當(dāng)需要 admin 權(quán)限需做驗(yàn)證:
sudo chown -R _www ~/Sites/testsite
4.PHP推送
- 執(zhí)行PHP后臺(tái)推送之前施禾,需要你導(dǎo)出p12證書(shū),具體請(qǐng)看下文http://blog.csdn.net/x32sky/article/details/17527655
- 執(zhí)行生成兩個(gè)P12文件
需要通過(guò)終端命令將這些文件轉(zhuǎn)換為PEM格式:
openssl pkcs12 -clcerts -nokeys -out apns-dev-cert.pem -in apns-dev-cert.p12
openssl pkcs12 -nocerts -out apns-dev-key.pem -in apns-dev-key.p12
如果你想要移除密碼搁胆,要么在導(dǎo)出/轉(zhuǎn)換時(shí)不要設(shè)定或者執(zhí)行:
openssl rsa -in apns-dev-key.pem -out apns-dev-key-noenc.pem
最后弥搞,你需要將鍵和許可文件合成為apns-dev.pem文件,此文件在連接到APNS 時(shí)需要使用:
cat apns-dev-cert.pem apns-dev-key-noenc.pem > apns-dev.pem
例如:
openssl pkcs12 -clcerts -nokeys -out cert.pem -in cert.p12
openssl pkcs12 -nocerts -out key.pem -in key.p12
cat cert.pem key.pem > anps_dis_fan.pem
- PHP推送代碼
既然證書(shū)創(chuàng)建好了渠旁,web服務(wù)器創(chuàng)建好了攀例,那么自己就快要通過(guò)瀏覽器訪問(wèn)PHP文件,接口顾腊,下面是一個(gè)apns_push.php文件用來(lái)給手機(jī)發(fā)推送的粤铭,可以自己來(lái)調(diào)試APP的推送功能了。
1.創(chuàng)建推送的PHP文件投慈,放到系統(tǒng) /Library/WebServer/Documents/
2.啟動(dòng)web服務(wù),瀏覽器訪問(wèn)冠骄,
3.輸入地址和devicetoken參數(shù)伪煤,也可以寫(xiě)死自己APP里面生成的自己手機(jī)的token
4.訪問(wèn)就可以看到輸出,手機(jī)APP就會(huì)收到推送了
$message,#推送的消息
'sound' => 'default', #$sound = "ping1.caf";
'badge' => 1
);
/* End of Configurable Items */
$ctx = stream_context_create();
// anps_dev_club是在同文件夾下的pem證書(shū)(配置證書(shū))
stream_context_set_option($ctx, 'ssl', 'local_cert', 'anps_dev_club.pem');
// assume the private key passphase was removed.(輸入密碼)
stream_context_set_option($ctx, 'ssl', 'passphrase', $pass);
// ssl://gateway.sandbox.push.apple.com:2195 這個(gè)是蘋(píng)果開(kāi)發(fā)測(cè)試地址
// ssl://gateway.push.apple.com:2195 蘋(píng)果發(fā)布運(yùn)行地址
$apnsHost='ssl://gateway.sandbox.push.apple.com:2195';
// $apnsHost='ssl://gateway.push.apple.com:2195';
#好像這個(gè)用發(fā)布和調(diào)試都可以
$fp = stream_socket_client($apnsHost, $err, $errstr, 60, STREAM_CLIENT_CONNECT|STREAM_CLIENT_PERSISTENT, $ctx);
#發(fā)布
// $fp = stream_socket_client($apnsHost, $err, $errstr, 60, STREAM_CLIENT_CONNECT, $ctx);
if (!$fp) {
print "Failed to connect $err $errstrn";
return;
}
else {
print "Connection OKn-----";
}
# 把字典轉(zhuǎn)化成 json字符串
$payload = json_encode($body);
// 這是去掉空格凛辣,什么的抱既,因?yàn)閠oken里面含有一些不用的符號(hào)
$msg = chr(0) . pack("n",32) . pack('H*', str_replace(' ', '', $deviceToken)) . pack("n",strlen($payload)) . $payload;
print "sending message :" . $payload . "n".$msg;
// 發(fā)生推送
$result=fwrite($fp, $msg,strlen($msg));
fclose($fp);
?>
七.sqllite 和MySQL命令行操作
1.Sqlit3 Command line
打開(kāi)創(chuàng)建數(shù)據(jù)庫(kù):在你想創(chuàng)建或者打開(kāi)的目錄下執(zhí)行
sqlite3 db.sqlite
創(chuàng)建表:
create table table1(userID integer primary key autoincrement,
name varchar(20),
age int,
tel varchar(11)
);
給表增加字段
alter table table1 add contry varchar(50);
? 表的增加、刪除扁誓、修改防泵、查詢(xún)
增加:insert into table1 values(NULL,’fan’,20,’182743847);
刪除:delete from table1 where userID=3;
修改:update table1 set name=’fan1’ where userID=1
;
查詢(xún):select * from table1 order by name limit 10; desc;//asc
刪除表:
drop table if exists table1;
從一個(gè)表里面移除一個(gè)字段的方法(創(chuàng)建新表)
create table table2 as select userID,name,age from table1;
表重新命名
alter table table2 rename to table1;
幫助
.help
查看表結(jié)構(gòu):
.tables;
表個(gè)數(shù);
.schema table1;
表結(jié)構(gòu)
更多操作:http://blog.csdn.net/majiakun1/article/details/41281935
http://www.cnblogs.com/einyboy/archive/2013/03/12/2955378.html
2.mysql 命令行
使用MySQL需要安裝MySQL服務(wù)蝗敢,可以去官網(wǎng)下載:http://www.mysql.com/downloads/
創(chuàng)建表
create table fan (userID int primary key auto_increment,name varchar(20),age int,tel varchar(11));
登錄遠(yuǎn)程主機(jī) (本地與遠(yuǎn)程操作是一樣的)
ssh username@192.168.1.1
顯示數(shù)據(jù)庫(kù)
show databases;
使用數(shù)據(jù)庫(kù)
use dbname;
顯示表
show tablename;
顯示表結(jié)構(gòu)
desc tablename;
顯示創(chuàng)建表結(jié)構(gòu)
show create table tablename;
其他命令與SQLite3基本一樣
八cocos2dx連接xcode
官網(wǎng)下載:http://www.cocos.com/download/# (最新版本V3.9)
首先解壓cocos2dx-3.9捷泞,把它放到你容易找到的地方。
然后打開(kāi)命令行 cd 到cocos2dx-3.9 文件根目錄下
命令行輸入 ./setup.py 回車(chē)即可完成安裝
創(chuàng)建項(xiàng)目
cocos new -d ~/Desktop/Game -l cpp -p com.fan.game FanGame
解釋?zhuān)簞?chuàng)建一個(gè)包名是com.fan.game的FanGame項(xiàng)目語(yǔ)言是cpp(c++)
cocos new –d 目標(biāo)路徑
-l 語(yǔ)言 有cpp,lua,js
-p 包名
最后一個(gè)參數(shù):項(xiàng)目名
命令就可以去找到iOS文件夾啟動(dòng)項(xiàng)目運(yùn)行就可以看看效果了
其他
find命令寄權(quán)限
find ./ -name ‘fan*’
find ./ -iname ‘fan*’
mdfind -name 文件名
mdfind ‘fan’ 查詢(xún)所有包含fan的文件
mdfind -onlyin ~/Library plist 這條命令可以搜索Library文件夾中所有plist文件寿谴。
找到全部不包含i開(kāi)頭的PNG圖片锁右,是圖片的執(zhí)行刪除
find . ! -name "i*.png" -name "422333323223*.png" -exec rm -rf {} \;
for i in `find . -name "*.png"`
do
newname='echo $i|sed'
`mv $i $newname`
pwd
done
find . -name 'CVS' -exec rm -rf {} \;
查找當(dāng)前文件夾下,是’CVS’的文件(夾)執(zhí)行刪除操作
linux或Mac 下執(zhí)行.sh文件總是提示permission denied
如果你是root登陸的話(不是的話讶泰,切換到root用戶(hù)咏瑟,對(duì)*.sh賦可執(zhí)行的權(quán)限)
chmod 777 *.sh
or
chmod +x *.sh
吐槽
哎呀,寫(xiě)個(gè)博客還是很累人的痪署,我只是寫(xiě)了一些常用的码泞,希望有些東西能幫到你們,有什么問(wèn)題可以底下留言狼犯,或者郵箱留言余寥,下面我要睡一覺(jué)了
個(gè)人郵箱: fanxiangyang_heda@163.com
其他郵箱:fqsyfan@gmail.com
個(gè)人github:https://github.com/fanxiangyang