久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

IOS開發環境windows化攻略

本人主要介紹了IOS開發環境windows化攻略,需要的朋友可以參考下
1. XCode

Perference
General
Double Click Navigation - 默認雙擊后會彈出新窗口(Use Seperate Window),這個和vc不一樣,主要這個窗口位置和大小通常讓人有不連貫感。改為Same as Click就和vc一樣

Text Editing
Editing
While editing Automatically trim trailing whitespace (去除尾部空白)
Including whitespace-only lines (全空行也去除空白,注意還保留回車)
這個其實是我們正常編碼會做的,但這樣和老代碼交接處以后的patch可能會產生沖突。如果自己平常習慣好,推薦不勾。
Default text encoding 選 Simplified Chinese(Mac OS)
Default line ending 選 Windows(CRLF)
Convert existing files on save 不勾

保持與windows版本代碼設置一致,基線上通常已經有設置了就不要改變了,否則mac port的diff會讓你的diff文件滿屏都是^M(單文件中存在兩種行尾格式)

Indentation
Prefer indent using: Tabs
Tab width: 4 spaces
Indent width: 4 space
Tab Key: Inserts tab charater
Line wrapping: Wrap Line to editor width 勾上
Indent wrapped lines by: 4 space
Syntax-aware indenting 不勾,自動修改非常討厭,尤其是你從diff文件拷貝沖突的部分時


Key Bindings 修改常用快捷鍵,盡量保持和vc/va一致,va的Alt+ <- -> 和 alt+o alt+m 沒找到,其他常用的,修改如下:

(\ Shift | Alt 左上箭 Home)



部分和系統的快捷鍵沖突了,可以在系統偏好設置->鍵盤->鍵盤快捷鍵修改掉。

順便一提,Navigators(左邊那一列)下面有個過濾器,但有時候自己會忘記了發現找不到結果時,注意看看是不是在里面殘留了上次的過濾關鍵字。


2. 版本管理工具

svn:
Versions 可惜不免費。取老版本有點費事,左上角點select,在revision里面輸入版本號后切換下After/Before能比較好選到比較老的版本。
Hg/Git:
SourceTree 比MacHG之流好了不止一點,無論效率還是使用習慣,而且是免費的,在他的官網注冊個用戶,導一個lensence文件進專網就能一直用了。

文本編輯:
Sublimt Text2 特別清爽的編輯器,有不少特別的功能,對我來說主要是可以改Copy等操作的快捷鍵,支持各種文件的語法高亮,對GBK支持不好,要下一個插件。不過此插件會導致大文件打開比較慢。

7z解壓縮:
7zX等 貌似都是要扔到Dock,然后拖放進去來用的,用了兩個大的包解壓效率貌似都很差,于是我對Mac都傳zip了現在。

3. 版本同步

A) MacOS的diff/patch

由于mac下自帶了diff/patch,所以就無所謂要拷gnuwin32的那些exe了(且由于格式不一樣,不支持那些exe)
修改原先mydiff.bat下的內容,添加mac相關的過濾,-x.DS_Store -x*.xcworkspacedata -xxcuserdata,然后將原來的那些%1等改為$1 $2

復制代碼 代碼如下:

diff -Nur --ignore-file-name-case -xDebug -xRelease -xDebug_Kalydo -xRelease_Kalydo -xEnv -xEnvNormal -xEnvWeb -xpdb -xVTune -xboost -xstlport -xDXSDK -x.svn -x.hg -x*.hgignore -x.git -x.gitignore -x*.vsp -x*.psess -x*.swp -x*.ncb -x*.opt -x*.scc -x*.plg -x*.clw -x*.aps -x*.org -x*.orig -x*.rej -x*.rar -x*.Administrator.user -x*.suo -x*.bak -x*.map -x*.ico -x*.vcproj.list -x*.vcproj.lnt -x.DS_Store -x*.xcworkspacedata -xxcuserdata $1 $2


注意$2后不應該有任何換行符,否則diff的時候路徑會有問題。
然后去掉后綴名,放在etc/paths中的任意一個路徑下(或者放在你喜歡的路徑,然后添加到etc/paths)的內容中,即設置環境變量。
然后 chmod 777 mydiff,給這個shell腳本權限。

這樣就可以和windows一樣的使用了mydiff了。

B) 在Mac下使用windows風格的diff文件

由于MacPort(Unix)的diff,本身的輸出(^+++/^---/^@@等)是LF,差異部分的輸出是沿用原文的行尾。這樣一來,其實上只對修改前后全文都是unix格式的行尾(LF)支持良好。

而征服項目中,普遍采用windows的行尾符(CRLF),于是diff出來的文件其實是一個混合兩種行尾符的文件。也就是用gvim查看這種文件的時候,會看到^M符號的原因。

而這與我們在windows中采用的gunwin32的diff/patch的效果不盡相同,后者本身的輸出是CRLF,而差異部分也是沿用原來的。

這樣一來,就產生了一個尷尬的情況,即一個平臺diff出來的補丁難以在另外一個平臺使用。通常我們都是對Mac版本同步windows的diff,通常有兩種方法:

i. 在Mac的windows虛擬機中用gunwin32的patch

注意此時patch不直接支持網絡位置的文件夾,在設定共享(虛擬機/共享/共享設置)后,在windows虛擬機中映射網絡驅動器(資源管理器/工具/映射網絡驅動器)即可解決此問題。

ii. 直接在Mac上用shell腳本處理。

新建一個shell文件iospatch,內容如下:

復制代碼 代碼如下:

awk '/^\+\+\+|^---|^@@|^diff|^Binary|^File/ { sub(/\r$/,"") }; {print}' > unixLF.diff
patch $@ < unixLF.diff


注意要和上述mydiff的shell一樣處理好路徑,賦予權限。

用法和patch一樣,只是現在我們會寫iospatch -arg < file,比如 iospatch -p1 < ..\win.diff

這個方法可以避免龜速的黑蘋果開了虛擬機后雪上加霜,且可以同時兼容Unix/windows兩種風格的diff,推薦使用。


C) 版本功能同步,沖突解決

apple的東西由于審核等原因,版本更新相對不頻繁,經常會有好幾個大版本了才同步一次,同步工作量很大,每個人都要同步數十個補丁,而由于windows和mac分支的差異相當大,基本會有很多的沖突,又由于XCode編譯慢,資源需要重新轉化等原因,很難做到每個補丁都check in一次,這樣就通常會是幾十個補丁合成一個大變更文件,然后把這個文件check in上去。
幾十個補丁的沖突解決,萬一后面出了點什么事情(比如某個沖突未解決),基本很難在svn上看出來。于是推薦采用一個本地的版本管理工具,如上所述的SourceTree,由于HG/Git等都是本地倉庫的,使用起來非常簡單。也不像svn那樣對check in要求嚴格,這樣我們可以連帶orig/rej文件check in到我們的本地倉庫,方便之后的核對。
而要在本地還原修改,清理冗余文件,查看變更的時候,都顯得尤為方便,且基線更新的時候,我們也可以取到另外一個分支,再合并分支,實現在本地merge后重出補丁,可以弱化對基線的需求。

本文附件:

IOS開發環境windows化攻略_代碼附件.zip
下載地址: /201306/other/IOS_windows_fj_jb51.rar
內容(注意shell/bat文件中部分空格回車是敏感的,有問題請直接下載一份)
mac下批量混合格式diff轉成unix格式diff diff2unix
復制代碼 代碼如下:

#diff2unix
#Ruoqian, Chen<piao.polar@gmail.com>
#2013.2.7
#----------
#trans diff patch with windows LE (CRLF) to Unix LE(LF)
#-----------
#usage
#diff2unix trans curent dir
#diff2unix path trans dir or file
#when trans dir, will trans all files and child dir in it.
#----------
if [ $# == 0 ]
then
path=`pwd`
else
path=$1
fi
if [ -f $path ]
then
file=${path##*
【網站聲明】本站部分內容來源于互聯網,旨在幫助大家更快的解決問題,如果有圖片或者內容侵犯了您的權益,請聯系我們刪除處理,感謝您的支持!

相關文檔推薦

這篇文章主要介紹了ios實現文件對比的方法,主要是用到了filemanager,有需要的小伙伴可以參考下。
這篇文章主要給大家匯總了一下ios下移動文件方法,從簡單到復雜,十分的實用,有需要的小伙伴可以參考下。
本文給大家總結了幾則在IOS系統下刪除文件的代碼,十分的實用,有需要的小伙伴可以參考下。
本文給大家分享的是IOS開發中遇到的一個手風琴特效無法正常工作的問題的解決方法,經過度娘了很久才找到解決方法,這里推薦給大家,有需要的小伙伴可以參考下。
這篇文章主要介紹了iOS、Mac OS X系統中編程實現漢字轉拼音的方法(超級簡單),本文講解的方法不僅支持中文,還支持日文、韓文等,需要的朋友可以參考下
這篇文章主要分享了iOS7 毛玻璃特效代碼,非常的實用,做IOS開發的童鞋們不要錯過了
主站蜘蛛池模板: 日韩中文字幕视频在线观看 | 在线a视频 | 国产女人叫床高潮大片免费 | 午夜影院在线观看免费 | 日韩精品在线看 | 亚洲视频一区 | 欧美在线日韩 | 亚洲成人一区二区 | 欧美日韩视频在线播放 | 国产高清免费视频 | 国产a级黄色录像 | www.久久| 日韩国产在线 | 亚洲欧美一区二区三区情侣bbw | 午夜影视 | 91免费视频观看 | 精品久久影院 | 亚洲一区二区三区桃乃木香奈 | 精品一区二区免费视频 | 日韩精品一区二区三区第95 | 日本三级网站在线观看 | 国产一区二区麻豆 | 91精品国产91久久综合桃花 | 中文字幕在线一区二区三区 | 亚洲国产一区二区三区在线观看 | 中文字幕日韩一区 | 亚洲国产精品久久久久秋霞不卡 | 日韩精品一区二区三区中文字幕 | av在线播放不卡 | 欧美电影一区 | 午夜精品久久久久久久星辰影院 | 欧美成人一区二区三区 | 欧美一级黄色免费 | 欧美日韩a | 99re6在线 | 欧美色综合一区二区三区 | 一级毛片观看 | 伊人网在线看 | 午夜视频一区二区 | 国产精品美女久久久av超清 | 欧美日韩在线一区 |