web-dev-qa-db-ja.com

dyld:ライブラリがロードされていません:@ rpath / libswiftCore.dylibはXcode 9のみ

最近、8.3.3からXcode 9にアップグレードしました。

私たちのプロジェクトは、他のすべてのフレームワークと同様に、Objective-Cで記述されています。 Swift(バージョン3.0)で記述されたフレームワークを追加しました。Xcode8では、シミュレータとデバイスで問題なくプロジェクトをビルドして実行できます。Xcode9ではエラーのため、シミュレーターまたはデバイスでプロジェクトを実行できません:

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

ダウングレードした後、プロジェクトを再度実行することができました。

私の構成は:

ALWAYS_EMBED_Swift_STANDARD_LIBRARIES = YES;
STRIP_Swift_SYMBOLS = NO;
Swift_VERSION = 3.0;
13
joe muoio

このエラーと数時間戦い、さまざまな解決策を試した後、私の解決策は他の解決策とは異なることが判明したため、利益をもたらす可能性のある他の解決策を追加します。

私が試しました:-ALWAYS_EMBED_Swift_STANDARD_LIBRARIES = YES-LD_RUNPATH_SEARCH_PATHS = $(inherited)@ executable_path/Frameworks

運が悪い。問題はより基本的であることが判明しました。私のプロジェクトには複数のビルドターゲットがあり、どういうわけかホストアプリケーションの設定が未設定になっています。 enter image description here

1

Xcodeを再起動してみてください。私は他のすべてを試しました、そしてこれは問題を止めたものです。

0
doodle

ただきれいにして、この問題を解決してください。 Xcode 9.2およびSwift 4でテスト済み

0
xhinoda

これは主に、証明書の信頼設定が「常に信頼する」に設定されている場合に発生します。 「システムデフォルト」に変更して、ビルドを再作成します。これで問題が解決します: https://egeek.me/2017/10/21/code-signing-blocked-mmap-on-ios-device/

0
Vibin B. Nair

同じ問題がありました。 Xcode 9.2を使用していますSwift 4で、デバイスはiOS 11.1で動作します。

解決:

私は削除しましたApple Keychain AccessのWorldwide Developer Relations Certificate Authorityを新しいものに置き換えます(ダウンロードは 証明書はこちら

その後、「信頼」(証明書をダブルクリック)を「常に信頼する」から「システムデフォルト」に変更しました。

0
cinnamonlao

私は同じ問題(Xcode 9.4.1)に直面しましたが、どのヘルプでもそれを解決できませんでした。 Xcodeがキーチェーンを使用するように要求し続けたが、要求を完了できなかったという問題に直面しました。ただし、パスワードを指定しました。アプリが正常にビルドされ、インストールされました。ただし、デバイスで実行するとすぐにクラッシュしました。

これが私の問題を解決したものです。

  • 証明書と公開鍵/秘密鍵のペアを削除しました
  • (CSRを介して)新しい証明書を作成し、自分のコンピューターにインストールしました
  • 新しい証明書をプロビジョニングプロファイルにリンクし、Xcodeにプロファイルをインストールしました
  • ビルドをクリーンアップし、デバイス上の既存のビルドを削除しました
  • ばんざーい!

これが惑星を探索している誰かを助けることを願っています!

0
Ruchira Randana

Swiftフレームワークは、プロジェクトと同じバージョンのSwiftでビルドする必要があります(この場合、Swift 4アップグレードしてXcode 9を実行しているため)。

フレームワークを再構築し、新しいバージョンで再追加/置換すると、機能するはずです。

0
Paul Popiel

Carthageを使用していて、マシンに複数のXCode_sがありますか?コマンドラインでxcode8.3.3が選択されているときにcarthage update --use-ssh --platform iOSを実行すると、最近問題が発生しました。次に、ビルドされたフレームワークをビルドに含めました。

これをXCode9で機能させるには、Xcode.appに対してスイッチコマンドSudo xcode-select --switch /Applications/Xcode.app/Contents/Developerを実行し、carthageを再度実行する必要があります。

それが役に立てば幸い。

0
Alex