iOS 第三方SDK支持真機不支持模擬器

我們永遠(yuǎn)也看不透事物的本質(zhì)华望,看到的只是自己思想的倒影!

開發(fā)背景

? ? ? ?在iOS應(yīng)用開發(fā)中子漩,不免需要引入一些第三方SDK缕棵,方便開發(fā)别厘。比如藍(lán)牙或相機掃描身份證IDCardRecognition
之類的雕蔽。

存在問題

? 這些SDK僅支持真機不支持模擬器嚣艇。即贰谣,真機上可以正常運行秘豹,而模擬器會報錯凄贩,如error: Building for iOS Simulator, but the linked library 'OnlyForiOS.a' was built for iOS. (in target 'TestTarget' from project 'TestTarget')或者Undefined symbols for architecture x86_64...ld:symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation)

參考解決辦法

  1. 寫腳本或新建scheme
    參考鏈接1:關(guān)于“不支持模擬器調(diào)試的第三方SDK”解決辦法
  2. 模擬器刪除相關(guān)第三方
    copy新建一份代碼,刪除相關(guān)第三方久橙,實現(xiàn)在模擬器上查看界面

不足

? 1.寫腳本繁瑣,對不懂腳本語言的同學(xué)來說佳头,知其然不知其所以然。另外肄梨,這樣還是會有問題,只要庫在辆毡,那么運行模擬器就報錯眨攘。
? 2.每次界面變動需要同時比較修改另一份代碼鲫售,麻煩

思考

? 有沒有一種方式可以在一個工程里進行修改秦效,真機狀態(tài)下.a文件參與編譯苔货,在模擬器狀態(tài)下不參與編譯呢若皱?
? 在閱讀以下等博客后,整理出了思路
? 參考鏈接2:iOS添加多個Target旅敷,實現(xiàn)打包不同版本
? 參考鏈接3:iOS開發(fā):集成的SDK不支持模擬器調(diào)試怎么辦?

改進

  1. 添加Target颤霎,并確保新添加的Target名稱與info.plist及配置保持一致(運行時Target名稱沒有改變的媳谁,需重新打開項目)
  • rename.png
  1. 添加.a文件時涂滴,如果僅支持真機不支持模擬器,那么Add to targets:只勾選原有的Target即可晴音。


    AddFile.png
  2. 在Build Setting中搜索:preprocessor macros柔纵,添加設(shè)置一個預(yù)編譯宏,來處理條件編譯锤躁。如SIMULATOR=1搁料。


    條件編譯.png
  3. 在真機使用到而模擬器沒有使用到的地方使用預(yù)編譯指令。
    例:
#pragma mark - UITableViewDelegate
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
#if SIMULATOR == 0
    ViewController *vc = [[ViewController alloc]init];
    [self.navigationController pushViewController:vc animated:YES];
#endif
}

5.如果是真機運行进苍,執(zhí)行Target為TestTarget的Scheme加缘,如果是模擬器執(zhí)行TestTarget-Simulator即可。通過切換Target的方式來處理真機與模擬器的調(diào)試切換

ChangeTarget.png

  • 總結(jié):以上觉啊,實現(xiàn)了不支持模擬器SDK拣宏、文件的條件編譯,利用條件編譯杠人,在模擬器環(huán)境下不對不支持x86的SDK進行編譯勋乾。

BTW:喜歡伸手測試的小伙伴可以點擊下載進行測試,喜歡請點贊嗡善,謝謝辑莫!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市罩引,隨后出現(xiàn)的幾起案子各吨,更是在濱河造成了極大的恐慌,老刑警劉巖袁铐,帶你破解...
    沈念sama閱讀 217,657評論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件揭蜒,死亡現(xiàn)場離奇詭異,居然都是意外死亡剔桨,警方通過查閱死者的電腦和手機屉更,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,889評論 3 394
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來洒缀,“玉大人瑰谜,你說我怎么就攤上這事∈骷ǎ” “怎么了萨脑?”我有些...
    開封第一講書人閱讀 164,057評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長葱峡。 經(jīng)常有香客問我砚哗,道長,這世上最難降的妖魔是什么砰奕? 我笑而不...
    開封第一講書人閱讀 58,509評論 1 293
  • 正文 為了忘掉前任蛛芥,我火速辦了婚禮提鸟,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘仅淑。我一直安慰自己称勋,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,562評論 6 392
  • 文/花漫 我一把揭開白布涯竟。 她就那樣靜靜地躺著赡鲜,像睡著了一般。 火紅的嫁衣襯著肌膚如雪庐船。 梳的紋絲不亂的頭發(fā)上银酬,一...
    開封第一講書人閱讀 51,443評論 1 302
  • 那天,我揣著相機與錄音筐钟,去河邊找鬼揩瞪。 笑死,一個胖子當(dāng)著我的面吹牛篓冲,可吹牛的內(nèi)容都是我干的李破。 我是一名探鬼主播,決...
    沈念sama閱讀 40,251評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼壹将,長吁一口氣:“原來是場噩夢啊……” “哼嗤攻!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起诽俯,我...
    開封第一講書人閱讀 39,129評論 0 276
  • 序言:老撾萬榮一對情侶失蹤妇菱,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后暴区,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體恶耽,經(jīng)...
    沈念sama閱讀 45,561評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,779評論 3 335
  • 正文 我和宋清朗相戀三年颜启,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片浪讳。...
    茶點故事閱讀 39,902評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡缰盏,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出淹遵,到底是詐尸還是另有隱情口猜,我是刑警寧澤,帶...
    沈念sama閱讀 35,621評論 5 345
  • 正文 年R本政府宣布透揣,位于F島的核電站济炎,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏辐真。R本人自食惡果不足惜须尚,卻給世界環(huán)境...
    茶點故事閱讀 41,220評論 3 328
  • 文/蒙蒙 一崖堤、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧耐床,春花似錦密幔、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,838評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至堪嫂,卻和暖如春偎箫,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背皆串。 一陣腳步聲響...
    開封第一講書人閱讀 32,971評論 1 269
  • 我被黑心中介騙來泰國打工淹办, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人愚战。 一個月前我還...
    沈念sama閱讀 48,025評論 2 370
  • 正文 我出身青樓娇唯,卻偏偏與公主長得像,于是被迫代替她去往敵國和親寂玲。 傳聞我的和親對象是個殘疾皇子塔插,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,843評論 2 354

推薦閱讀更多精彩內(nèi)容