IOS 如何讓編譯器跳過不支援模擬器的 a檔案

2021-08-15 17:14:20 字數 467 閱讀 9715

我們開發中經常會遇到使用第三方功能的.a靜態庫檔案.

有的.a檔案支援的架構比較多,x86,arm64,arm7s,arm7這樣我們編譯的時候不會出錯.但是如果支援的架構越多.我們最終生成的ipa包將會越大.比如x86的架構,我們上線版本根本用不到,或者第三方根本沒有給我們提供支援x86的.a檔案,那怎麼辦呢?

有人說,我們直接用真機執行不就得了?或者直接要求讓第三方提供給我們支援全架構的.a檔案

所以我們可以這樣做,

.a靜態包,你剛剛匯入的時候,不管真機還是模擬器都是不會編譯報錯的,這就證明,只有在用到其中的方法的時候,編譯器才會去檢測我們的.a檔案是不是又當前支援的裝置架構.

因此我們可以這樣解決.

#if target_iphone_simulator

#else

//呼叫第三方.a檔案中的方法

#endif

再次編譯,通過!

vim編譯器如何設定

將下面 拷貝到 vimrc中,放在vim的安裝目錄下,這裡修改的只是我們使用者的配置檔案。set nocompatible 不使用相容模式 set nu 顯示行號 syntax on 語法高亮 set ruler 顯示標尺 set showcmd 出入的命令顯示出來,看的清楚些 set scroll...

iOS開發 開啟 關閉編譯器警告

關閉標識為 wno.wall並不是所有警告。這乙個警告組開啟的是編譯器開發者對於 你所寫的 中有問題 這一命題有著很高的自信的那些警告。要是在這一組設定下你的 出現了警告,那基本上就是你的 真的存在嚴重問題了。但是同時,並不是說開啟wall就萬事大吉了,因為wall所針對的僅僅只是經典 庫中的為數不...

gcc編譯器如何工作概要描述

gcc編譯器如何工作概要描述 當我們進行編譯的時候,要使用一系列的工具,我們稱之為工具鏈.其中包括 預處理器cpp,編譯器前端gcc g 彙編器as,聯結器ld.乙個編譯過程包括下面幾個階段 1 預處理。預處理器cpp將對原始檔中的巨集進行展開。2 編譯。gcc將c檔案編譯成彙編檔案。3 彙編。as...