pbootcms网站模板|日韩1区2区|织梦模板||网站源码|日韩1区2区|jquery建站特效-html5模板网

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開發的童鞋們不要錯過了
主站蜘蛛池模板: 杰福伦_磁致伸缩位移传感器_线性位移传感器-意大利GEFRAN杰福伦-河南赉威液压科技有限公司 | 混合生育酚_醋酸生育酚粉_琥珀酸生育酚-山东新元素生物科技 | 进口便携式天平,外校_十万分之一分析天平,奥豪斯工业台秤,V2000防水秤-重庆珂偌德科技有限公司(www.crdkj.com) | 真空上料机(一种真空输送机)-百科 | 耐高温电缆厂家-远洋高温电缆| 黑龙江「京科脑康」医院-哈尔滨失眠医院_哈尔滨治疗抑郁症医院_哈尔滨精神心理医院 | 浙江栓钉_焊钉_剪力钉厂家批发_杭州八建五金制造有限公司 | 超声波成孔成槽质量检测仪-压浆机-桥梁预应力智能张拉设备-上海硕冠检测设备有限公司 | BESWICK球阀,BESWICK接头,BURKERT膜片阀,美国SEL继电器-东莞市广联自动化科技有限公司 | 高速龙门架厂家_监控杆_多功能灯杆_信号灯杆_锂电池太阳能路灯-鑫世源照明 | 保健品OEM贴牌代加工厂家_德州健之源| 土壤肥料养分速测仪_测土配方施肥仪_土壤养分检测仪-杭州鸣辉科技有限公司 | 成都离婚律师|成都结婚律师|成都离婚财产分割律师|成都律师-成都离婚律师网 | 肉嫩度仪-凝胶测试仪-国产质构仪-气味分析仪-上海保圣实业发展有限公司|总部 | PAS糖原染色-CBA流式多因子-明胶酶谱MMP-上海研谨生物科技有限公司 | 滁州高低温冲击试验箱厂家_安徽高低温试验箱价格|安徽希尔伯特 | 聚氨酯保温钢管_聚氨酯直埋保温管道_聚氨酯发泡保温管厂家-沧州万荣防腐保温管道有限公司 | 展厅设计公司,展厅公司,展厅设计,展厅施工,展厅装修,企业展厅,展馆设计公司-深圳广州展厅设计公司 | 慢回弹测试仪-落球回弹测试仪-北京冠测精电仪器设备有限公司 | 印刷人才网 印刷、包装、造纸,中国80%的印刷企业人才招聘选印刷人才网! | 蜘蛛车-高空作业平台-升降机-高空作业车租赁-臂式伸缩臂叉装车-登高车出租厂家 - 普雷斯特机械设备(北京)有限公司 | 合金耐磨锤头_破碎机锤头_郑州市德勤建材有限公司 | 济南律师,济南法律咨询,山东法律顾问-山东沃德律师事务所 | 洛阳防爆合格证办理-洛阳防爆认证机构-洛阳申请国家防爆合格证-洛阳本安防爆认证代办-洛阳沪南抚防爆电气技术服务有限公司 | 合肥网带炉_安徽箱式炉_钟罩炉-合肥品炙装备科技有限公司 | 工程管道/塑料管材/pvc排水管/ppr给水管/pe双壁波纹管等品牌管材批发厂家-河南洁尔康建材 | 知名电动蝶阀,电动球阀,气动蝶阀,气动球阀生产厂家|价格透明-【固菲阀门官网】 | 压砖机、液压制砖机、静压砖机、环保砖机生产厂家—杜甫机械 | 钢托盘,钢制托盘,立库钢托盘,金属托盘制造商_南京飞天金属制品实业有限公司 | 无刷电机_直流无刷电机_行星减速机-佛山市藤尺机电设备有限公司 无菌检查集菌仪,微生物限度仪器-苏州长留仪器百科 | 生物颗粒燃烧机-生物质燃烧机-热风炉-生物颗粒蒸汽发生器-丽水市久凯能源设备有限公司 | 专业生产动态配料系统_饲料配料系统_化肥配料系统等配料系统-郑州鑫晟重工机械有限公司 | CNC机加工-数控加工-精密零件加工-ISO认证厂家-鑫创盟 | CTAB,表面活性剂1631溴型(十六烷基三甲基溴化铵)-上海升纬化工原料有限公司 | 带式过滤机厂家_价格_型号规格参数-江西核威环保科技有限公司 | 塑木弯曲试验机_铜带拉伸强度试验机_拉压力测试台-倾技百科 | 家乐事净水器官网-净水器厂家「官方」 | 东莞动力锂电池保护板_BMS智能软件保护板_锂电池主动均衡保护板-东莞市倡芯电子科技有限公司 | 风信子发稿-专注为企业提供全球新闻稿发布服务 | 控显科技 - 工控一体机、工业显示器、工业平板电脑源头厂家 | 智能门锁电机_智能门锁离合器_智能门锁电机厂家-温州劲力智能科技有限公司 |