oc和swift混編時遇到的坑

我們的項目用的是oc,然后因為開源庫的原因,我們的項目中也用到了swift,某天在聯(lián)機調(diào)試的時候,Xcode報了一個很神奇的錯誤

dyld: Library not loaded: @rpath/libswiftCore.dylib
  Referenced from: /var/containers/Bundle/Application/295BD35B-CF6C-4769-B29F-116D60E4E4C5/PPStocks.app/PPStocks
  Reason: no suitable image found.  Did find:
    /private/var/containers/Bundle/Application/295BD35B-CF6C-4769-B29F-116D60E4E4C5/PPStocks.app/Frameworks/libswiftCore.dylib: mmap() errno=1 validating first page of '/private/var/containers/Bundle/Application/295BD35B-CF6C-4769-B29F-116D60E4E4C5/PPStocks.app/Frameworks/libswiftCore.dylib'

google了一下,找到了一個很有用的鏈接
dyld: Library not loaded: @rpath/libswiftCore.dylib
里面有人提到了一個很關(guān)鍵的build setting

Embedded Content Contains Swift Code

這個設(shè)置項一定要設(shè)置為YES

官方的QA這里,說得很清楚了,這個設(shè)置項就是為了讓Xcode知道,你的App需要ocswift混編了,把swift相關(guān)的庫打包到你的App中。

然而,Xcode是一個坑貨,即使你的設(shè)置項是對的,還是可能會遇到這個提示。解決的辦法是:

  1. 先設(shè)置為NO
  2. build一次到手機,肯定會crash
  3. 設(shè)置為YES
  4. clean一下
  5. build一次,問題解決了

注:這個問題必現(xiàn)場景是,當你的證書重新revoke后,再次編譯,必現(xiàn)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫、插件、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 15,704評論 4 61
  • 一個人無聊的時候就想寫點什么,也算是自己與自己的對話吧?;蛟S就在謝謝對話中,我可以發(fā)現(xiàn)自己真正想要的是什么,或者說...
    林詩洛閱讀 461評論 0 0
  • 沒錯,我是在聽宋冬野的斑馬,斑馬,2016年過去了,發(fā)生了好多不幸的事,自己經(jīng)歷了從一個依賴的孩子慢慢蛻變成了要自...
    老勺兒閱讀 219評論 0 0
  • 淄博兩天的會議結(jié)束了,同學(xué)中我是昨天早上第一個來的,今天最后一個離開的。學(xué)姐文艷在送我和現(xiàn)發(fā)助教去火車站的路上問我...
    卜芳閱讀 303評論 2 7

友情鏈接更多精彩內(nèi)容