真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

ios開發(fā)github的簡單介紹

ios開發(fā)github怎么使用

1. AFNetworking在眾多iOS開源項目中,AFNetworking可以稱得上是最受開發(fā)者歡迎的庫項目。AFNetworking是一個輕量級的iOS、Mac OS X網(wǎng)絡(luò)通信類庫,現(xiàn)在是GitHub上第三大Objective-C庫。它建立在NSURLConnection、NSOperation等類庫的基礎(chǔ)上,讓很多網(wǎng)絡(luò)通信功能的實現(xiàn)變得十分簡單,因此,許多iOS應(yīng)用開發(fā)都會使用到它。支持HTTP請求和基于REST的網(wǎng)絡(luò)服務(wù)(包括GET、POST、PUT、DELETE等);支持ARC;要求iOS 5.0及以上版本;有一些插件擴展已有的功能,還有一個功能齊全的API;從URL中獲取JSON特別簡單。2. Three20Three20原本是iPhone版Facebook中所使用的工具庫,包括照片查看器等一系列的iPhone UI類集,以及HTTP磁盤緩存等一些通用工具。后來從Facebook iPhone應(yīng)用中剝離出來,成為了一個深受開發(fā)者喜愛的通用框架。3. facebook-ios-sdk此前在“GitHub上最受歡迎的開源項目”Android系列文章(一)中,我們曾介紹過允許開發(fā)者將Facebook集成到Android應(yīng)用中的Facebook SDK for Android。Facebook SDK for iOS和它一樣,可以讓開發(fā)者將Facebook相關(guān)功能集成到自己的iOS App中。Facebook無疑是最成功的SNS社區(qū),如果能夠讓App具有與Facebook集成的功能,那勢必會帶來非常好的效果。Facebook SDK for iOS項目更新頻率很高,想要獲取更多關(guān)于示例、文檔、將SDK集成到App中、源代碼等信息,可直接登陸Facebook Developers查看。4. RestKitRestkit是一個主要用于iOS上網(wǎng)絡(luò)通信的開源Objective-C框架,除了發(fā)送請求、接受響應(yīng)這些基本功能外,還附帶Core Data,以及將遠程JSON映射為本地對象的功能。主要特點:可在iOS和Mac OS X的Objective-C中與RESTful Web服務(wù)進行簡單交互;包含簡單的HTTP Request/Response API;帶有強大的對象映射系統(tǒng),用于減少代碼長度;RestKit可降低JSON/XML的處理的資源消耗,支持通過SBJSON和YAJL進行JSON解析。5. asi-http-requestASIHTTPRequest是一款極其強勁的HTTP訪問開源項目,能夠讓簡單的API完成非常復(fù)雜的功能,比如異步請求、隊列請求、GZIP壓縮、緩存、斷點續(xù)傳、進度跟蹤、上傳文件、HTTP認證。ASIHTTPRequest適用于基本的HTTP請求,和基于REST的服務(wù)之間的交互。使用Objective-C編寫,能夠同時用于Mac OS X和iPhone應(yīng)用中。6. cocos2d-x在《GitHub上最火的40個Android開源項目(一)》中,我們已經(jīng)非常詳細地介紹了cocos2d-x開源項目。cocos2d-x支持iOS、Android、Windows Phone 8、Bada、BlackBerry、Marmalade、Windows、Linux等多個平臺。7.cocos2d-iphone(cocos2d)cocos2d for iPhone是一個開源框架,用于為iPod Touch、iPhone、iPad及Mac OS X構(gòu)建2D游戲、演示程序及其他圖形交互式應(yīng)用?;赾ocos2d設(shè)計,使用相同的API,但不同于cocos2d使用Python,cocos2d for iPhone是使用Objective-C實現(xiàn)的。cocos2d for iPhone主要特性:快免費易于使用社區(qū)支持8.cocos2d-iphone(jpsarda)該項目是對cocos2d for iPhone的擴展。9. GPUImageGPUImage是一個基于GPU圖像和視頻處理的開源iOS框架。主要功能如下:提供各種各樣的圖像處理濾鏡,并且支持照相機和攝像機的實時濾鏡;GPUImage顧名思義,是基于GPU的圖像加速,因此圖像處理速度非???,并且能夠自定義圖像濾鏡;支持ARC。10. MonoGameMonoGame是一個Microsoft XNA 4.x Framework的開源跨平臺實現(xiàn)。此前在Android開源項目系列文章(一)中我們也進行了詳細的介紹。MonoGame支持平臺:iOS(包括Ritina Display)AndroidWindows(OpenGL)Mac OS XLinuxWindows Store Apps(Windows 8、Windows RT)Windows Phone 8PlayStation Mobile(目前僅支持2D)OUYA11. NimbusNimbus是一個開源的iOS框架,比起Three20,Nimbus的文檔更為全面、豐富,能夠?qū)崿F(xiàn)很多非常炫的界面特效。因此,開發(fā)者可以借助Nimbus來降低項目設(shè)計的復(fù)雜度。12. cheddar-iosCheddar是一個簡單即時的任務(wù)管理器,Cheddar for iOS是Cheddar的iOS客戶端,通用于iPhone和iPad。13. ViewDeckIIViewDeckController能夠?qū)崿F(xiàn)類似于Path 2.0 的視圖左右滑動的效果,支持向左或向右順滑的滑動操作。14. ShareKitShareKit是iPhone開發(fā)的第三方接口,允許你一鍵分享文字、圖片、網(wǎng)址、文件等內(nèi)容到Facebook、Twitter、Delicious、Tumblr、Google Reader等第三方網(wǎng)站上。15. GMGridViewGMGridView是一款開源的iOS(iPhone/iPad)表格視圖,允許用戶手勢對表格單元進行排序,在單元格需要展示時才進行裝載,這樣極大地提高了表格的效率。其中的伸縮/旋轉(zhuǎn)/平移手勢能夠讓用戶改變視圖,還能夠?qū)崿F(xiàn)從CellView到全屏的切換。16. QuickDialogQuickDialog可以幫助開發(fā)者快速創(chuàng)建復(fù)雜的表單,實現(xiàn)包括登錄界面在內(nèi)的各種樣式的TableView輸入界面,此外,還可以創(chuàng)建帶有多個文本域的表格及項目。17. appiraterAppirater是一個可以直接使用到任何iPhone應(yīng)用(iOS4.0及以上)中的開源類,用于提醒用戶在打開App時,對應(yīng)用進行或打分。18. SVProgressHUDSVProgressHUD能夠?qū)崿F(xiàn)多種HUD效果,多用于程序正在執(zhí)行耗時較長的任務(wù),需要用戶等待。除了顯示等待的HUD,還可以顯示命令執(zhí)行成功或者失敗的HUD。19. Reader該項目能夠讓iOS開發(fā)者輕而易舉地在iOS設(shè)備屏幕上顯示PDF文件。代碼通用,不需要任何XIB(因為所有UI元素都是代碼生成的,具有極大的靈活性),運行于iOS 4.0及其以上版本設(shè)備中,同時還支持所有Retina Display設(shè)備。支持:諸如iBooks等的文檔導(dǎo)航;設(shè)備全方位旋轉(zhuǎn);對PDF進行加密(密碼保護);PDF鏈接(URI及跳轉(zhuǎn)頁面);PDF旋轉(zhuǎn)頁面。20.CocoaAsyncSocketCocoaAsyncSocket提供了十分強大而又易用的Mac OS X及iOS異步套接庫,支持TCP和UDP,其中,AsyncSocket類是支持TCP的,AsyncUdpSocket是支持UDP的。AsyncSocket是封裝了CFSocket和CFSteam的TCP/IP socket網(wǎng)絡(luò)庫,提供異步操作。AsyncUdpSocket是UDP/IP socket網(wǎng)絡(luò)庫,包裝自CFSocket。

西固ssl適用于網(wǎng)站、小程序/APP、API接口等需要進行數(shù)據(jù)傳輸應(yīng)用場景,ssl證書未來市場廣闊!成為創(chuàng)新互聯(lián)的ssl證書銷售渠道,可以享受市場價格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18982081108(備注:SSL證書合作)期待與您的合作!

iOS Github開源框架 StreamingKit 網(wǎng)絡(luò)音樂流播放器 簡單上手(1)

Jukebox 這個框架是Swift版本

GitHub: :

第0步,pod把StreamingKit導(dǎo)進來

第一步

AppDelegate.m:

第二步初始化一個控制器:

還有后臺如何播放音樂?一張圖片就明白

如果有什么問題,可以微薄“梁同桌”私信我。留言都行

剛剛,阿里開源 iOS 協(xié)程開發(fā)框架 coobjc!

阿里妹導(dǎo)讀:剛剛,阿里巴巴正式對外開源了基于 Apache 2.0 協(xié)議的協(xié)程開發(fā)框架 coobjc,開發(fā)者們可以在 Github 上自主下載。

coobjc是為iOS平臺打造的開源協(xié)程開發(fā)框架,支持Objective-C和Swift,同時提供了cokit庫為Foundation和UIKit中的部分API提供了 協(xié)程 化支持,本文將為大家詳細介紹coobjc的設(shè)計理念及核心優(yōu)勢。

從2008年第一個iOS版本發(fā)布至今的11年時間里,iOS的異步編程方式發(fā)展緩慢。

基于 Block 的異步編程回調(diào)是目前 iOS 使用最廣泛的異步編程方式,iOS 系統(tǒng)提供的 GCD 庫讓異步開發(fā)變得很簡單方便,但是基于這種編程方式的缺點也有很多,主要有以下幾點:

針對多線程以及尤其引發(fā)的各種崩潰和性能問題,我們制定了很多編程規(guī)范、進行了各種新人培訓(xùn),嘗試降低問題發(fā)生的概率,但是問題依然很嚴峻,多線程引發(fā)的問題占比并沒有明顯的下降,異步編程本來就是很復(fù)雜的事情,單靠規(guī)范和培訓(xùn)是難以從根本上解決問題的,需要有更加好的編程方式來解決。

上述問題在很多系統(tǒng)和語言開發(fā)中都可能會碰到,解決問題的標準方式就是使用協(xié)程,C#、Kotlin、Python、Javascript 等熱門語言均支持協(xié)程極其相關(guān)語法,使用這些語言的開發(fā)者可以很方便的使用協(xié)程及相關(guān)功能進行異步編程。

2017 年的 C++ 標準開始支持協(xié)程,Swift5 中也包含了協(xié)程相關(guān)的標準,從現(xiàn)在的發(fā)展趨勢看基于協(xié)程的全新的異步編程方式,是我們解決現(xiàn)有異步編程問題的有效的方式,但是蘋果基本已經(jīng)不會升級 Objective-C 了,因此使用Objective-C的開發(fā)者是無法使用官方的協(xié)程能力的,而最新 Swift 的發(fā)布和推廣也還需要時日,為了讓廣大iOS開發(fā)者能快速享受到協(xié)程帶來的編程方式上的改變,手機淘寶架構(gòu)團隊基于長期對系統(tǒng)底層庫和匯編的研究,通過匯編和C語言實現(xiàn)了支持 Objective-C 和 Swift 協(xié)程的完美解決方案 —— coobjc。

核心能力

內(nèi)置系統(tǒng)擴展庫

coobjc設(shè)計

最底層是協(xié)程內(nèi)核,包含了棧切換的管理、協(xié)程調(diào)度器的實現(xiàn)、協(xié)程間通信channel的實現(xiàn)等。

中間層是基于協(xié)程的操作符的包裝,目前支持async/await、Generator、Actor等編程模型。

最上層是對系統(tǒng)庫的協(xié)程化擴展,目前基本上覆蓋了Foundation和UIKit的所有IO和耗時方法。

核心實現(xiàn)原理

協(xié)程的核心思想是控制調(diào)用棧的主動讓出和恢復(fù)。一般的協(xié)程實現(xiàn)都會提供兩個重要的操作:

我們基于線程的代碼執(zhí)行時候,是沒法做出暫停操作的,我們現(xiàn)在要做的事情就是要代碼執(zhí)行能夠暫停,還能夠再恢復(fù)。 基本上代碼執(zhí)行都是一種基于調(diào)用棧的模型,所以如果我們能把當前調(diào)用棧上的狀態(tài)都保存下來,然后再能從緩存中恢復(fù),那我們就能夠?qū)崿F(xiàn)yield和 resume。

實現(xiàn)這樣操作有幾種方法呢?

上述第三種和第四種只是能過做到跳轉(zhuǎn),但是沒法保存調(diào)用棧上的狀態(tài),看起來基本上不能算是實現(xiàn)了協(xié)程,只能算做做demo,第五種除非官方支持,否則自行改寫編譯器通用性很差。而第一種方案的 ucontext 在iOS上是廢棄了的,不能使用。那么我們使用的是第二種方案,自己用匯編模擬一下 ucontext。

模擬ucontext的核心是通過getContext和setContext實現(xiàn)保存和恢復(fù)調(diào)用棧。需要熟悉不同CPU架構(gòu)下的調(diào)用約定(Calling Convention). 匯編實現(xiàn)就是要針對不同cpu實現(xiàn)一套,我們目前實現(xiàn)了 armv7、arm64、i386、x86_64,支持iPhone真機和模擬器。

說了這么多,還是看看代碼吧,我們從一個簡單的網(wǎng)絡(luò)請求加載圖片功能來看看coobjc到底是如何使用的。

下面是最普通的網(wǎng)絡(luò)請求的寫法:

下面是使用coobjc庫協(xié)程化改造后的代碼:

原本需要20行的代碼,通過coobjc協(xié)程化改造后,減少了一半,整個代碼邏輯和可讀性都更加好,這就是coobjc強大的能力,能把原本很復(fù)雜的異步代碼,通過協(xié)程化改造,轉(zhuǎn)變成邏輯簡潔的順序調(diào)用。

coobjc還有很多其他強大的能力,本文對于coobjc的實際使用就不過多介紹了,感興趣的朋友可以去官方github倉庫自行下載查看。

我們在iPhone7 iOS11.4.1的設(shè)備上使用協(xié)程和傳統(tǒng)多線程方式分別模擬高并發(fā)讀取數(shù)據(jù)的場景,下面是兩種方式得到的壓測數(shù)據(jù)。

從上面的表格我們可以看到使用在并發(fā)量很小的場景,由于多線程可以完全使用設(shè)備的計算核心,因此coobjc總耗時要比傳統(tǒng)多線程略高,但是由于整體耗時都很小,因此差異并不明顯,但是隨著并發(fā)量的增大,coobjc的優(yōu)勢開始逐漸體現(xiàn)出來,當并發(fā)量超過1000以后,傳統(tǒng)多線程開始出現(xiàn)線程分配異常,而導(dǎo)致很多并發(fā)任務(wù)并沒有執(zhí)行,因此在上表中顯示的是大于20秒,實際是任務(wù)已經(jīng)無法正常執(zhí)行了,但是coobjc仍然可以正常運行。

我們在手機淘寶這種超級App中嘗試了協(xié)程化改造,針對部分性能差的頁面,我們發(fā)現(xiàn)在滑動過程中存在很多主線程IO調(diào)用、數(shù)據(jù)解析,導(dǎo)致幀率下降嚴重,通過引入coobjc,在不改變原有業(yè)務(wù)代碼的基礎(chǔ)上,通過全局hook部分IO、數(shù)據(jù)解析方法,即可讓原來在主線程中同步執(zhí)行的IO方法異步執(zhí)行,并且不影響原有的業(yè)務(wù)邏輯,通過測試驗證,這樣的改造在低端機(iPhone6及以下的機器)上的幀率有20%左右的提升。

簡明

易用

清晰

性能

程序是寫來給人讀的,只會偶爾讓機器執(zhí)行一下。——Abelson and Sussman

基于協(xié)程實現(xiàn)的編程范式能夠幫助開發(fā)者編寫出更加優(yōu)美、健壯、可讀性更強的代碼。

協(xié)程可以幫助我們在編寫并發(fā)代碼的過程中減少線程和鎖的使用,提升應(yīng)用的性能和穩(wěn)定性。

本文作者:淘寶技術(shù)

iOS開發(fā)知識體系之《腳本自動化打包--xcodebuild》

iOS腳本自動化打包方案--xcodebuild

本文主要xcodebuild腳本自動化打包并上傳到蒲公英或者AppStore,廢話不多說,直接上干貨!

先了解一下xcodebuild打包需要的一些指令

-workspace XXX.xcworkspace

XXX.xcworkspace需要編譯工程的工作空間名稱,如果工程不是.xcworkspace的,可以不需要-workspace XXX.xcworkspace這段話

-scheme XXX

XXX是工程名稱,-scheme XXX是指定構(gòu)建工程的名稱

-configuration Release

填入打包的方式是Debug或Release,就跟在Xcode中編譯前需要在Edit scheme的Build configuration中選擇打出來的包是Debug還是Release包一樣,-configuration就是配置編譯的Build configuration

-archivePath ./myArchivePath

配置生成.xcarchive的路徑, ./表示生成在當前目錄下,myArchivePath是生成的.Archive文件名稱

ODE_SIGN_IDENTITY=證書

配置打包的指定證書,如果該工程的Xcode已經(jīng)配置好了證書,那么不加入這段話也可以,打包出來的證書就是Xcode中配置好的。

PROVISIONING_PROFILE=描述文件UUID

配置打包的描述文件,同上,Xcode已經(jīng)配置好了就不用在填入這段話了

CONFIGURATION_BUILD_DIR

配置編譯文件的輸出路徑,如果需要用到.xcarchive文件內(nèi)部的dSYM等文件,可以使用改字段指定輸出路徑。

如果工程是勾選了Automatically manage signing,那么就不用在配置ODE_SIGN_IDENTITY和PROVISIONING_PROFILE,今天這里講到的Automatically manage signing自動配置證書,手動配置的就不多說了,有興趣的話可以自己研究。

xcode工程配置自動獲取證書,如下圖:

打包所需要文件

配置打包的ExportOptions.plist文件,可以在任意一個Xcode工程中新建一個ExportOptions.plist文件。dev和adHoc和AppStore的配置文件內(nèi)容不一樣,可以先手動打包后看下plist文件的樣式,這里提供一個樣例:

這里method對應(yīng)的value為打包對應(yīng)的環(huán)境,有development、ad-hoc、app-store、enterprise根據(jù)打包環(huán)境來配置不同的值

編譯腳本命令

xcodebuild archive -workspace XXX.xcworkspace -scheme XXX -configuration Release -archivePath ./myArchivePath CONFIGURATION_BUILD_DIR ./dir ODE_SIGN_IDENTITY=證書 PROVISIONING_PROFILE=描述文件UUID

導(dǎo)出ipa包命令

xcodebuild -exportArchive -archivePath ./myArchivePath.xcarchive -exportOptionsPlist ./ExportOptions.plist -exportPath ./out

-archivePath ./myArchivePath.xcarchive指定需要打包的.xcarchive路徑,./myArchivePath.xcarchive表示在當前終端路徑下的myArchivePath.xcarchive文件

-exportOptionsPlist ./ExportOptions.plist指定打包需要的ExportOptions.plist配置文件路徑

-exportPath ./out指定打包輸出的路徑, ./out表示打包結(jié)果輸出在終端的當前路徑下的out文件家中。如果沒有out文件夾會自動創(chuàng)建一個

腳本操作

首先:cd到需要自動打包的工程下

然后:在終端中輸入touch xcodebuild.sh創(chuàng)建xcodebuild.sh腳本文件

然后:雙擊打開腳本寫入下面 腳本內(nèi)容(請確保所有版本的plist配置文件都寫好了)

最后:在終端中輸入./xcodebuild.sh運行腳本,按照步驟完成打包選擇(如果運行的時候出現(xiàn)Permission denied,請先在終端中執(zhí)行chmod a+x *.文件的后綴名后,在運行,相當于提高腳本文件的權(quán)限)

腳本內(nèi)容

此腳本包含了自動上傳蒲公英的選擇操作,根據(jù)輸入指令來執(zhí)行具體操作

腳本實現(xiàn)

具體詳細腳本見GitHub地址: 如果好用記得給star,謝謝!

如腳本打包執(zhí)行遇到問題可留言溝通!

iOS開發(fā)之Framework上傳到github 配置Cocoapodss

如果無注冊信息,需要注冊

注冊成功之后你會看到如下確認郵件的提示:

那么趕緊打開你的小郵箱驗證吧,打開郵箱看到如下:

然后復(fù)制中間的鏈接放在瀏覽器打開即可,出現(xiàn)如下提示表明驗證成功:

結(jié)果如下:

注意:

其中Pods這一項中的HJAppSpSDK表示的是我的pods上已經(jīng)有一個HJAppSpSDK項目了,如果你成功添加了現(xiàn)在的這個項目會再多一個的

進入需要配置項目目錄下也就是.git倉庫的同級目錄,創(chuàng)建一個XXX(SDK名稱).podspec的文件,最好不要直接touch一個空文件,然后直接去網(wǎng)上扒源碼,這樣會出現(xiàn)我最后面提到的問題,所以按照我的步驟來是不會出錯的:

打開vi HJAppSPSDK.podspec文件

注意問題:

上面我需要使用到的:

1s.version版本一定要跟tag一致

2s.summary不改的話會有警告

3s.description要填寫,不填寫報錯,如果嫌麻煩,可以用#注釋掉

4s.homepage填寫你的github上的項目地址

5s.license根據(jù)你github創(chuàng)建項目的時候使用的證書,一般選用MIT,后面的文件名LICENSE是谷歌創(chuàng)建的時候的文件名,你可以到你的項目中查找對應(yīng)的文件名填寫上

6s.source后面填寫github上的項目地址,請務(wù)必正確填寫

7s.resource后面的是你上傳bundle的相對路徑,我是把bundle放在FrameworkFramework目錄下的,請按照我的填寫來找到對應(yīng)你自己的填寫

8 s.ios.vendored_frameworks這一欄可能沒有,可能有,沒有就加上,這個是找到對應(yīng)framework的路勁,我是放在FrameworkFramework下的,請按照我的填寫來找到對應(yīng)你自己的填寫

9s.frameworks這個是系統(tǒng)的framework,那么我們自己的Framework里面用到了哪些系統(tǒng)的framework就加上

上面我沒有使用到的,其他的:

1s.dependency這個是填寫依賴的第三方庫,比如說AFN:

2s.requires_arc表示是否是ARC,如果是那么就打開填寫true,如下:

3s.source_files表示的是源碼文件,這個是我們的開源框架了,我們這里并沒有就沒寫,如果我們要搞開源的框架。那么路徑和我們的bundle那樣找路徑是一樣的

4s.library或者s.libraries指的是我們需要依賴系統(tǒng)的庫,lib庫,那么這個就看我們需要添加什么就寫什么。比如說我們經(jīng)常喜歡添加sqite

進入到XXX.podspec 同級目錄下

提交到Cocoapods 在項目目錄下也就是.git倉庫的同級目錄也就是現(xiàn)在的XXX.podspec文件的同級目錄下

如果出現(xiàn)如下提示,說明上傳成功了:

然后查看下pod信息:

結(jié)果如下:

創(chuàng)建項目,項目目錄下

這個時候你更新下本地的repo倉庫:

更新好之后,再查詢下

查詢結(jié)果如下:

生成Podfile 文件,修改Podfile文件,添加如下條目:

然后接下來打開白色的*******.xcworkspace文件,就能看到了pods目錄中文件了

(1)供OC、swift同時使用需要暴露方法前加‘objc’

(2)pod lib lint xxx.podspec --verbose --use-libraries --allow-warnings

本地pod檢測失敗,報如下錯誤,說明swift 庫鏈接失?。ㄥe誤如下)

需要在framework工程中修改配置(如果OC項目pod引入該framework 源文件(非xx.framework)報錯,也要檢測下這個配置是否設(shè)置為YES)

添加/移除某個庫的擁有者,上文有提到該命令。

你必須先運行過 pod trunk register 登錄過,并且操作的是你賬號擁有的庫。

3-1、注冊登錄。

在你的 Mac 上只需要運行一次,然后去郵箱中點擊確認郵件的鏈接即可,當然你也可以使用該命令在不同的賬號中來回切換。

3-2、發(fā)布庫

我一般在本地操作,PATH 一般就是 PodRepName.podspec。不過官網(wǎng)文檔上說 PATH 缺省是當前目錄,所以 cd 到庫的本地目錄,然后直接 pod trunk push 應(yīng)該也是可以滴!

3-3、查看自己的賬號信息,以及賬號擁有的倉庫。

3-4、查看某個庫的信息,包括擁有者、各版本版本號及發(fā)布時間

3-5、不贊成使用,讓某個庫過期

暫時還沒有嘗試,僅做記錄

iOS開發(fā)上傳項目至github,以及使用.gitignore文件

1.在github官網(wǎng)( )注冊一個賬號;

2.登錄賬號,創(chuàng)建一個新的倉庫,如下圖

3.填寫倉庫名稱,配置倉庫相關(guān)信息

4.完成創(chuàng)建后,copy倉庫地址備用

5.在本地創(chuàng)建一個文件夾作為git本地倉庫文件夾,然后打開終端執(zhí)行以下命令

cd 到git本地倉庫文件夾中

git clone '上面copy的地址'

此時在git本地倉庫文件夾中會看到一個README文件,然后將自己的工程根目錄下的所有文件移到git本地倉庫文件夾中,然后在終端執(zhí)行以下命令

git add . //添加所有文件

git commit -m '添加了所有文件提交到本地倉庫' //提交

git push -u origin master //推送到遠程git倉庫

此時去github網(wǎng)頁查看自己提交的項目,大功告成!

如果在創(chuàng)建倉庫時,未勾選.gitignore選項,則在使用git的過程中push時,改動的文件中會頻繁出現(xiàn)UserInterfaceState.xcuserstate文件。原因就是未使用.gitignore文件(就是git軟件要忽略的文件列表,如果要忽略某些文件,在Git工作區(qū)的根目錄下創(chuàng)建一個特殊的.gitignore文件,然后把要忽略的文件名填進去,Git就會自動忽略這些文件。),如何創(chuàng)建呢?接下來用我的實際經(jīng)驗來給大家解決這個小問題咯????

cd到你的工程目錄下,然后 touch .gitignore

vi .gitigonre

project.xcworkspace

xcuserdata

UserInterfaceState.xcuserstate

project.xcworkspace/

xcuserdata/

UserInterface.xcuserstate

4.保存退出

然后執(zhí)行命令

git add .

git ommit -m '描述'

git push

成功后就不會出現(xiàn)UserInterfaceState.xcuserstate這種文件啦!

如果還是會出現(xiàn),則用以下命令

1.git status

查看當前狀態(tài),會出現(xiàn)一個modifidy: UserInterfaceState.xcuserstate文件的路徑,咱們copy這個路徑;


文章題目:ios開發(fā)github的簡單介紹
當前網(wǎng)址:http://weahome.cn/article/dscjjph.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部