2017-09-22 138 views
7

我最近從8.3.3升級到XCode 9。dyld:Library not loaded:@ rpath/libswiftCore.dylib on XCode 9 only

我們的項目是用Objective-C編寫的,就像我們使用的所有其他框架一樣。我添加了一個用swift(3.0版)編寫的框架。在XCode 8中,我能夠在模擬器和設備上無問題地構建和運行項目。在Xcode 9我無法運行在模擬器或設備項目由於錯誤:

dyld: Library not loaded: @rpath/libswiftCore.dylib 
Referenced from: .../libraryname 
Reason: image not found 

降級之後,我能夠再次運行該項目。

我的配置有:具有與xcode9一個類似的問題

ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; 
STRIP_SWIFT_SYMBOLS = NO; 
SWIFT_VERSION = 3.0; 

其他人?有誰知道如何解決這個問題?

+0

添加您的框架來選擇目標 - >常規 - >嵌入式二進制文件 –

+0

該庫在嵌入式二進制文件和鏈接的框架和庫鏈接。 –

+0

你有沒有檢查過這個https://stackoverflow.com/questions/26104975/dyld-library-not-loaded-rpath-libswiftcore-dylib-image-not-found –

回答

0

Swift框架必須使用與您的項目相同版本的Swift來構建(在這種情況下,自升級並且正在運行Xcode 9以來,Swift 4是不可思議的)。

重建並重新添加/替換框架與新版本,它應該工作。

0

您使用迦太基並在您的機器上有多個XCode_s?我最近在運行 carthage update --use-ssh --platform iOS時遇到了問題,而在命令行中選擇了xcode8.3.3。然後在構建中包含構建的框架。

爲了在XCode9中工作,您需要爲您的Xcode.app運行切換命令 sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer並再次運行Carthage。

希望它有幫助。

0

有同樣的問題。我使用Xcode 9.2,Swift 4和我的設備在iOS 11.1中運行。

解決方案:

我刪除了蘋果全球開發者關係的證書頒發機構在鑰匙串訪問,並用一個新的更換(你可以下載certificate here

在那之後,我已經改變了「信託」(雙點擊證書)從「始終信任」到「系統默認」。

+0

試過了,這並沒有解決這個問題。 – Rao

相關問題