1. iOS開發WorkSpace多工程聯合編譯
先創建Workspace文件。
創建Project文件。
在創建工程的過程中有個主意點:將新建Project添加的目標和組 都是workspace。如圖4
多個工程間文件互相引用問題:多個工程間的文件引用方法:在工程A的Setting選項下的Header Search Paths 下添加「$(SRCROOT)/../B」。
這個工程A中即可引用工程B的文件,不過導入文件的方式是:#import <xxxxx.m>
如上設置,多個工程間的類就可以共享使用了。
使用 pod 問題 創建的 Podfile 文件要與 xxxWorkspace.xcworkspace 文件在同一個文件目錄下, 貼出 Podfile 文件內容。
在執行完 pod install指令後報下面的警告,則在header search paths中添加$(inherited)即可。
2. 如何使用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、描述
3. iOS將oc的.m文件編譯成C++的.cpp文件
因為在學習oc語言block的底層原理,所前指以需要將oc的.m轉成c++的.cpp格式文慧姿配件,這樣可以方便我們窺探一些本質的東西
比如要將我的工程BlockTest的main.m轉換成.cpp,操作如下
1:打開終端 cd 自己的工程文件
2:終端輸入:clang -x objective-c -rewrite-objc -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/冊搏iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk xxx.m,其中xxx.m替換成自己需要轉換的文件,然後敲回車
3:回到自己的工程文件目錄下查看,會多了一個.cpp文件
4:將文件添加到工程目錄
5:從編譯器中移除.cpp,保證項目正常運行
4. 請問蘋果的IOS系統是用什麼語言編寫的! 是C++么
蘋果手機的IOS系統部分有採用C語言編寫的,但是具體是不是採用C++編譯的無法得知。蘋果IOS系統開發工具是基於Xcode編寫的。
蘋果手機的整個系統的動畫更流暢。因此當執行諸如調出控制中心,多任務時滑動或滾動應用程序等功能時,更流暢且響應速度更快。應用程序在日常使用中的啟動速度更快。當iOS設備推向極限時,在很多應用程序之間進行多任務處理時啟動速度會提高2倍。
蘋果手機IOS系統從鎖定屏幕刷到相機發生得更快,所以不會錯過任何一個時刻。負載下分享顯示速度快2倍。共享出現比以往更快,特別是如果有很多共享擴展安裝。
(4)ios編譯機制擴展閱讀:
蘋果IOS系統的介紹如下:
蘋果仍沒有宣布任何讓iPhone運行Java的計劃。但太陽微系統已宣布其將會發布能在iPhone上運行的Java虛擬機(JVM)的計劃,是基於Java的MicroEdition版本。這將讓用Java應用程序得以在iPhone和iPodTouch上運行。
熟悉iOS軟體開發協議的程序員們相信雖然iOS軟體開發協議不允許應用程序後台運行(比如說在接電話的時候仍然運行程序),但卻允許自帶的應用程序從其他的來源下載代碼,而且還能與第三方應用程序相互作用。
5. iOS開發之條件編譯
#if (條件語句)
條件符合執行的語句
#elif (條件語句)
條件符合執行的語句
#else
所有條件不符合時,執行的語句
#endif
在條件編譯中,只編譯條件滿足時,之後的語句,其餘語句不編譯。(這里指#if和#endif之間的語句)
條件語句一般使用宏定義
例1:在iOS10及iOS10以上運行
#if __IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_10_0
#endif
例2:在宏定義DEBUG時執行執行,沒有則不執行
#define DEBUG
#ifdef DEBUG
條件符合執行的語
#endif
6. xcode12怎麼編譯ios16
1、首螞敏先首先在Architectures中,點擊選擇ValidArchitectures。
2、其次設置可用的兆明編譯架構指令集,在UserDefined選擇EXCLUDEDARCHS。
3、最後悶猜枝進入頁面後點擊編譯ios16即可。
7. ios 怎麼配置編譯ffmpeg
IOS上編譯ffmpeg需要先下載兩個程序:iFrameExractor和ffmpeg
編譯步驟:
1、在終端下: cd /iFrameExtractor/ffmpeg 建議開始就執行 sudo -s (獲取許可權命令)
2、在終端下輸入 ./configure --prefix=/iFrameExtractor/ffmpeg --libdir=iFrameExtractor/ffmpeg/lib --enable-gpl --enable-static --disable-shared --enable-swscale --enable-zlib --enable-bzlib --disable-ffmpeg --disable-ffplay --disable-ffserver --enable-pthreads
3、執行make 這里會有一堆的編譯情況。
註:最好先升級Command Line Tools,避免編譯錯誤
4、執行make install。 (執行完後 到iFrameExtractor/ffmpeg/lib文件上去看看)
出現 libavcodec libavdevice libavformat libavutil libswscale5個.a文件
5、用xcode 打開iFrameExractor工程,確認Header Search Paths里有:"$(SRCROOT)/ffmpeg"路徑。 $(SRCROOT)表示工程路徑。同時可以看到iFrameExractor工程下ffmpeg文件下的.a文件都不是紅色的了。
6、真機上編譯(模擬器上i386,真機上是arm的,真機還分arm6 和arm7 )
以下是針對arm7的
/configure --disable-doc --disable-ffmpeg --disable-ffplay --disable-ffserver --enable-cross-compile --arch=arm --target-os=darwin --cc=/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc --as='gas-preprocessor/gas-preprocessor.pl /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc' -- sysroot=/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.0.sdk --cpu=cortex-a8 --extra-cflags='-arch armv7' --extra-ldflags='-arch armv7 -isysroot /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.0.sdk' --enable-pic
7、執行 make 和make install 就有上面的幾個.a文件,至此編譯結束。