2014-11-24 142 views
11

我看過一堆答案,沒有解決我的問題。dyld:庫未加載。原因是:沒有找到合適的圖像

我有一個自定義框架和iOS應用程序項目的Xcode工作區。該項目已被做工精細,直到今天早上,現在它建立,但立即崩潰:

dyld: Library not loaded: @rpath/ONCKit.framework/ONCKit 
    Referenced from: /private/var/mobile/Containers/Bundle/Application/4DF67A3F-6255-4276-8812-8C742A363995/atero_t.app/atero_t 
    Reason: no suitable image found. Did find: 
    /private/var/mobile/Containers/Bundle/Application/4DF67A3F-6255-4276-8812-8C742A363995/atero_t.app/Frameworks/ONCKit.framework/ONCKit: mmap() error 1 at address=0x100118000, size=0x000B8000 segment=__TEXT in Segment::map() mapping /private/var/mobile/Containers/Bundle/Application/4DF67A3F-6255-4276-8812-8C742A363995/atero_t.app/Frameworks/ONCKit.framework/ONCKit 
    /private/var/mobile/Containers/Bundle/Application/4DF67A3F-6255-4276-8812-8C742A363995/atero_t.app/Frameworks/ONCKit.framework/ONCKit: mmap() error 1 at address=0x100280000, size=0x000B8000 segment=__TEXT in Segment::map() mapping /private/var/mobile/Containers/Bundle/Application/4DF67A3F-6255-4276-8812-8C742A363995/atero_t.app/Frameworks/ONCKit.framework/ONCKit 

我整天都在嘗試用構建設置和我只是完全丟失。

回答

10

我今天遇到這個問題,並以相同的方式解決它。撤消並重新生成代碼簽名可解決此問題。但要闡明它的「爲什麼」部分。

Apple繼續並更改證書內容。更確切地說,它在主題下添加了一個新的「OU」(組織單位)字段。通過撤銷和重新生成代碼簽名,它添加了缺少的字段,問題就消失了。

+0

此OU字段添加在哪一部分?在發行人或主題?你能指出一下嗎? – bikram990 2015-09-09 10:03:05

+0

修正了更清晰的答案。 OU是可以在主題部分下找到的組織單位。 – BlitzHiryu 2015-09-16 02:05:13

+0

感謝您更新答案 – bikram990 2015-09-18 05:21:24

0

只是爲了其他任何人說,像我這樣的,最近來過這個問題,但是不知道在哪裏以及如何準確地撤回其代碼簽名實體(這是在首選項>帳戶):

一切工作正常進行我也是,早上。我在其他地方讀過關於重新啓動的信息。因此,在經歷另一個冗長的簽名身份配置概要文件會話之前,我剛剛重新啓動了我的機器。而且這顯然不需要任何進一步的努力。

Swift,OS X 10.11.4上的Xcode 7.3。

10

Incase這可以幫助任何人,我一直在網上找到的解決方案都沒有爲我工作。拉我的頭髮兩天,並嘗試了一切。我吊銷了內部證書,新的配置文件,添加文件到嵌入式等

不能爲我的生活找出什麼是錯,直到我注意到在鑰匙串訪問我的Apple WWDR和iOS發行版證書正在設置爲"Always Trust"而不是「使用系統默認值」。把我的證書交回"Use Systems Defaults",一切都恢復正常。我不知道爲什麼以及如何運作,但它確實如此。

+4

我其實不相信它。這也是我的問題。對於我在使用Xcode的設備上運行的本地計算機來說,這對我來說很好,但是當啓動由Jenkins構建作業生成的IPA時,由於證書的信任設置配置方式不同,所以它失敗。這個錯誤並不表示它與證書無關。你爲我節省了幾天的痛苦。 – 2016-09-22 14:19:11

+1

這真的解決了我的問題。我不能相信這可能會導致鑰匙鏈中這種誤導性的屬性! – wilson100 2018-02-01 07:47:26

0

清潔Xcode的派生數據

啓動查詢>前往>前往文件夾>下方貼上

~/Library/Developer/Xcode/DerivedData 

現在重新啓動的Xcode行。

3

事實證明,如果您在多個設備上運行應用程序,Xcode會緩存一些設備特定的內容,這些內容可能會混淆在一起。簡單的修復就是刪除Xcode緩存。以下命令爲您清理它

rm -rf "$(getconf DARWIN_USER_CACHE_DIR)/org.llvm.clang/ModuleCache" 
rm -rf ~/Library/Developer/Xcode/DerivedData 
rm -rf ~/Library/Caches/com.apple.dt.Xcode 
0

只是更改代碼簽名配置文件解決了問題。轉到目標。然後在通用 - >簽名 - >團隊中選擇不同的選項。

相關問題