當前位置:首頁 » 編程軟體 » ios編譯命令行

ios編譯命令行

發布時間: 2022-10-04 00:10:19

1. 如何使用xcodebuild在命令行編譯iOS工程

IOS模擬器屬於SDK 即開發工具,是蘋果用來提供給開發者快速調試程序的, 只能運行通過Xcode編譯出來的程序,不可以安裝appstore的應用和ipa包, 其原理機制和你見到的FC之類的游戲模擬器不同,請放棄此念頭。

2. xcode命令行編譯證書問題,xcode 編譯可以成功

TARGETS下的test 那個東西 下對應位置>Build Settings -> Code Signing -> Code Signing Identity -> Debug ->也要改為DON'T ......

3. 如何使用xcodebuild在命令行編譯iOS工程

、准備工作 1、jenkins環境。搭建jenkins環境可以參考jenkins平台搭建和配置一節。需要注意的是,雖然涉及iOS開發,但是jenkins平台卻不必搭建在mac機器上,只要在jenkins上添加mac節點就可以了。 2、iOS開發環境。iOS開發環境主要是指Xcode開發環境,Xcode是免費的,只要在蘋果應用商店裡下載一個就可以了。當然,還有重要的一點兒---開發者證書,現在個人也已經有免費的證書了,沒有證書的話,只能打模擬器用的包了。 3、git項目。強烈建議把代碼放在git上,這樣便於團隊開發。當然,不放git上也可以。 4、jenkins Xcode持續集成插件。常用的插件Xcode integration,這個插件能夠快速的幫助我們進行Xcode打包配置,當然,只用純shell腳本也是可以的。 在jenkins上打包之前,我們最好手工測試一下可以打包成功,首先用Xcode圖形界面進行測試,然後用命令行測試,如果都能打包成功就可以掛在jenkins上運行了,畢竟jenkins的原理也是通過執行一系列命令來完成的。 三、jenkins配置 1、創建一個任務,創建任務的時候最好選自由風格的軟體項目,這樣配置起來比較方便,如果有需要,也可以選擇其他的風格。 2、描述

4. 如何使用xcodebuild在命令行編譯iOS工程

還是我來告訴你吧!被安裝的機器只能是開發機或者已越獄,要不然蘋果出個99美元的服務幹嘛?只能傳到appstore或者是上述兩種方法你要願意的話把自己開發者證書和ipa放一起,讓想安裝的的人自己簽完自己安

5. 蘋果MAC系統怎麼編譯C語言

在 Mac OS X 下學習C語言使用 Xcode。

在 Xcode 上運行C語言程序需要先創建工程,再在工程中添加源代碼。

1、 打開 Xcode,選擇「Create a new Xcode project」創建一個新工程,如下圖所示:

左側是工程目錄,主要包含了工程所用到的文件和資源。單擊「main.c」,即可進入代碼編輯模
式,這里 Xcode 已經為我們創建好了一個「Hello World」小程序。點擊上方的「運行」按鈕,即
可在右下角的選項卡中看到輸出結果。

拓展資料

Xcode是由Apple官方開發的IDE,支持C、C 、 Objective-C、Swift等,可以用來開發 Mac OS X 和 iOS上的應用程序。Xcode最初使用GCC作為 編譯器,後來由於GCC的不配合,改用LLVM。

6. 使用mac進行ios幾種命令行打包方式

自動打包的方式有如下幾種:
一、使用xcodebuild進行打包
參考apple文檔:https://developer.apple.com/library/prerelease/mac/documentation/Darwin/Reference/ManPages/man1/xcodebuild.1.html
xcodebuild -project "${TARGET}.xcodeproj" -target ${TARGET} CODE_SIGN_IDENTITY="${IDENTITY}" clean //將project clean下

xcodebuild -workspace MyWorkspace.xcworkspace -scheme MyScheme archive //進行archive,生成xcarchive文件
xcodebuild -exportArchive -exportFormat IPA -archivePath MyMobileApp.xcarchive -exportPath MyMobileApp.ipa -exportProvisioningProfile 'MyMobileApp Distribution Profile'
確實是可以生成.ipa,但是可能會導致不能安裝,https://developer.apple.com/library/prerelease/mac/documentation/Darwin/Reference/ManPages/man1/xcodebuild.1.html , 鏈接是apple的官方文檔,文檔大概的意思將 xcarchive文件作為.ipa方式進行導出, 為什麼不能在ios設備上安裝?
二、原生xcodebuild、xcrun進行打包,需要詳細了解,可以看下這個鏈接 http://www.jianshu.com/p/1229476fbce4
具體打包指令和第一種方法區別不大,不同代碼如下:
xcodebuild -scheme Zxh -configuration ${buildConfiguration} clean //對代碼進行clean
xcodebuild -project Zxh.xcodeproj -scheme Zxh -configuration ${buildConfiguration} -destination generic/platform=ios archive -archivePath ${buildPath} //進行build,相當於在xcode裡面進行command+b,生成.app文件
#xcrun -sdk iphoneos PackageApplication -v build/Release-iphoneos/Zxh.app -o ${ipaName}.ipa --sign "iPhone Distribution:(打包證書)" //根據.app文件生成的ipa文件導出到指定目錄
三、xctool進行自動打包

參考網頁地址:http://www.tuicool.com/articles/uIZRZjy
1、確保安裝了xctool

沒有安裝xctool,可以用brew安裝,沒有安裝brew的,可以通過搜索安裝brew,然後執行如下操作安裝xctool

安裝命令:sudo brew install xctool
介紹下xctool命令:
xctool 是FaceBook開源的一個命令行工具,用來替代蘋果的xcodebuild工具。
先附上打包用的參考代碼,如下:
#
cd AutoProject //進入項目目錄

#
buildDay=$(date +%Y%m%d) //獲取當前日期
buildTime=$(date +%Y%m%d%H%M) //獲取當前時間
profile=」xxxx」 //設置打包配置文件
#
buildConfiguration=」QA」 //build時用的證書
buildPath=」../ArchiveProction/QA/${buildDay}/Auto_QA_${buildTime}.xcarchive」 //build後歸檔的文件目錄
ipaName=」../ipa/QA/${buildDay}/Auto_QA_${buildTime}.ipa」 //打好包放置位置
#
xctool -scheme AutoProject -configuration ${buildConfiguration} clean //clean下工程
xctool -scheme AutoProject -configuration ${buildConfiguration} archive -archivePath ${buildPath} //對項目進行Archive, 將xcarchive文件導出到指定目錄
xcodebuild -exportArchive -exportFormat IPA -archivePath ${buildPath} -exportPath ${ipaName} - exportProvisioningProfile 「$profile」 //生成的ipa文件導出到指定目錄, 此處依然使用的是xcodebuild進行打包, 待優化

7. iOS 編譯報錯怎麼辦

1.編譯iPad真機時,選擇了 Architetures:Standard(armv6) BaseSDK:iPhoneDevice3.2 TargetDeviceFamily:iPad.

若編譯出現如下錯誤:

Command /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc-4.2 failed with exit code 1

則修改 GCC4.2CodeGeneral區域中的ComplieForThumb為非選中.

已經有了開發者證書及私鑰後,可直接在越獄的手機上調試.

2. 編譯鏈接時, "_OBJC_CLASS_$_xxx", referenced from:可能需要重新建立某個類的文件.

或者:選擇項目名,在detail列表中的target列(顯示為一個又圓圈),把這個文件的復選選中,或者再次選中.以把它加入到這個target裡面來.

3.在sdk4.0及以上使用RegexKitLite報'captureCount' was not declared in this scope錯誤,是在非.m文件中使用了它的原因.

4.there is no sdk with the name or path.

從網上down的開源代碼,結果運行的時候常出現這樣的錯,並且在deployment中沒有iosdeploymenttarget選項.

嘗試 Project/Edit Active Target/ 及 Set Active SDK菜單項,來回切換一下Active Configuration。

5. EXEC_BAD_ACCESS,EXC_BAD_INSTRUCTION錯誤,意味著這個app有內存管理的問題,一般是因為訪問野指針對象造成的。

一個和內存相關的崩潰一般很難定位到源代碼,因為這個惡魔可能很早就在程序中做了壞事了。假如一段有問題的代碼混亂了內存結構,這樣產生的蝴蝶效應可能會在之後很久才表現出來,並且總在不同的地方。所以,若有指針類型出現了不可能的變化,很可能就是因為內存結構被野指針調用混亂了。

修復一些警告後,可能就能預防一些內存錯誤。警告在左邊靠近行號的黃色三角指出一個編譯警告,你點擊那個黃色的三角形,xcode可能會彈出一個「Fix-it」的建議。

EXC_BAD_ACCESS崩潰不像SIGABRT,將不會得到很明朗的錯誤消息。然而可以使用一個讓人看到曙光的調試工具:Zombies!死亡對象工具。打開這個項目的scheme editor,選擇Run 選項,然後選擇Diagnosics標簽。勾上Enable Zombie Objects選項。當這個zombie工具被啟用之後,即使這個對象被釋放了,這個對象的內存也不會被清理。所以,那塊內存將會被標記為「長生不死的」。假如你試著之後又去使用這塊內存,這個app能夠意識到你的錯誤操作,並且app將會拋出「messagesent to daellocated instance」錯誤並且終止運行。

在工程中加入NSZombieEnabled 環境變數,並設為啟用,則在 EXC_BAD_ACCESS 發生時,XCode 的 Console 會列印出問題描述中,設置方法:雙擊Executables 下的 可執行模組,在彈出窗口中,Variables to be set in the environment,添加 NSZombieEnabled,並設定為 YES,點擊選中復選框啟用此變數。

可以再加入 MallocStackLogging 來啟用malloc記錄,以獲得更多的提示來幫助定位問題。

在gdb窗口輸入 (格式: shell malloc_history <id> <address>) shellmalloc_history1436 0x5f7fcf0, 也可以在終端中去運行 就要去掉以上的shell 指令 如 malloc_history <id> <address>

應該僅當需要調試內存時,才設置上述環境變數。

注意一點:不應該一直啟用zombie objects。因為這個工具將永遠不會釋放內存,只是簡單標記一下這個內存是不死的,你最終將會在某個時候耗盡所有的內存,因為所有分配過的內存都不會得到重用。因此應該在排查內存相關的錯誤的時候才開啟zombie objects,其他時候應該關閉它。

在xcode4中,To edit environment variables, go to Menu Proct / Edit Scheme…, select the desired configuration (you probably want 'Run') from the left sidebar first and then click on the Arguments tab. Environment variables are configurable there.

6.運行一個IPhone程序時,彈出窗口說「程序運行失敗,預置描述文件已過期」 。 解決辦法是,在Xcode中, window-> Orgnazier -> 你的iphone ->刪除帶有紅*的該程序之前的Profile 。 然後從Xcode運行該程序.

7.真機編譯時報 Code Sign error: The identity doesn't match any valid certificate/private key pair in the default keychain

修改工程和Targets的get infouild 中的code signing identity為空

8.調試列印

CFShow(coreFoundationThingy) will print out a description of coreFoundationThingy to the console. Output looks something like: {value = w:1186.000000 h:687.000000 type = kAXValueCGSizeType}

If NSLog() is printing something out as an NSCFType, try CFShow().

9. 編譯時報 Command /Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/clang failed with exit code 1,修改C/C++ Compiler Version為gcc4.2

10.this class is not key value coding-compliant for the key viewController

可能在創建了一個基於view的工程,而後把生成的viewcontroller刪除了,但是在.xib中還有對它的引用,在IB中直接用delete鍵刪除掉它就行了。

11.這台電腦上已經存在一個名為「embedded.mobileprovision」的預置文件,您是否要替換么?

http://blog.sina.com.cn/s/blog_6907b67f0100o2vw.html

12.真機調試時報failed to upload *.app

http://hi..com/%CB%E6%B7%E7_1989/blog/item/9649f49f805f05aec8eaf466.html

http://www.shouyanwang.org/thread-462-1-1.html

13.記的release時,先置delegate為nil。

一個節點不應該保留任何對不屬於它的節點的引用。

14.模擬器

將xcode升級到4.3.1以後發現,ipad的模擬器,沒有Home鍵了。Command+Shift+H就可以實現類似點擊Home鍵的效果了。

    8. IOS APP開發常用的幾個命令行工具

    xcodebuild

    蘋果官方提供的的Xcode項目和工作空間(workspace)編譯工具,也就是xcode自帶的非圖形化命令行編譯工具。詳細的使用方法在命令行執行:
    man xcodebuild

    系統會告訴你所有的用法,這里就不詳細介紹了。

    xcpretty

    xcpretty is a fast and flexible formatter for xcodebuild

    其實就是用來格式化(美化)xcodebuild命令行工具輸出日誌的一個小工具,我們新建一個Single View的項目xcodebuilddemo,然後在命令行執行:
    xcodebuild

    輸出日誌如下圖所示:

    xcodebuild_snapshot.png

    四個字「慘不忍睹」。

    OK, xcpretty表現一下吧,執行如下命令:
    xcodebuild | xcpretty

    輸出日誌如下圖所示:

    xcpretty_snapshot.png

    OK,不用過多解釋了,不過執行上面的命令時先執行下面的命令安裝xcpretty:
    gem install xcpretty

    更多使用方法見項目首頁:https://github.com/supermarin/xcpretty

    xctool

    xctool是facebook推出的用於替換xcodebuild的更易於測試ios和mac應用程序的命令行工具,特別適用於ios app的持續集成。

    注意,剛開始xctool不僅用於做單元測試,包括編譯、打包等功能,但現在編譯、打包等功能被放到facebook的另一個項目xcbuild中了,所以xctool目前主要是用於單元測試。

    xctool的官方網址:https://github.com/facebook/xctool

    安裝:
    brew install xctool

    如果您的mac機器上連brew都沒裝,那你真落伍了,自己去研究吧。

    使用:
    xctool -project xcodebuilddemo.xcodeproj -scheme xcodebuilddemo test -test-sdk iphonesimulator9.3

    更詳細的使用方法自己到官方網站研究吧。可以指定只測試某個用例,某個方法哦。

    xcbuild

    xcbuild是一個兼容Xcode的編譯工具,它能使編譯更快快速,更友好的編譯過程日誌,可以運行在多個平台(主要指OS X和Linux)。

    詳細的使用方法可見官方網站:https://github.com/facebook/xcbuild

    目前該項目還比較新,應該是剛從xctool中剝離出來,只能從源碼安裝。

    自己去試一試吧。

    熱點內容
    內置存儲卡可以拆嗎 發布:2025-05-18 04:16:35 瀏覽:336
    編譯原理課時設置 發布:2025-05-18 04:13:28 瀏覽:378
    linux中進入ip地址伺服器 發布:2025-05-18 04:11:21 瀏覽:612
    java用什麼軟體寫 發布:2025-05-18 03:56:19 瀏覽:32
    linux配置vim編譯c 發布:2025-05-18 03:55:07 瀏覽:107
    砸百鬼腳本 發布:2025-05-18 03:53:34 瀏覽:944
    安卓手機如何拍視頻和蘋果一樣 發布:2025-05-18 03:40:47 瀏覽:742
    為什麼安卓手機連不上蘋果7熱點 發布:2025-05-18 03:40:13 瀏覽:803
    網卡訪問 發布:2025-05-18 03:35:04 瀏覽:511
    接收和發送伺服器地址 發布:2025-05-18 03:33:48 瀏覽:372