framework related errors

No such module ‘framework名’

症状

コンパイル時に、No such module ‘framework名’のエラー

原因

framework のサーチパスが設定されていない可能性がある。

対応

Build Settings >> Search Paths >> Framework Search Paths のパスを正しく設定する。

この時、TestFoundation.framework という名前の場合、TestFoundation.framework の1つ上のディレクトリを指定する。

例 Debug の iphonesimulator の場合
***/Build/Products/Debug-iphonesimulator/TestFoundation.framework
であれば、
***/Build/Products/Debug-iphonesimulator
になる。

framework の種類が、Debug/Release, iphoneos/iphonesimulator により、パスが異なってくるので、正しいパスを設定する。

Could not find module ‘フレームワーク名’ for target ‘arm64-apple-ios’; found: x86_64-apple-ios-simulator, x86_64

症状

Could not find module ‘フレームワーク名’ for target ‘arm64-apple-ios’; found: x86_64-apple-ios-simulator, x86_64

原因

framework のサーチパスが シミュレータ用にビルドされたフレームワークのパスに設定されている。

対応

Build Settings >> Search Paths >> Framework Search Paths のパスを正しく設定する。

この時、TestFoundation.framework という名前の場合、TestFoundation.framework の1つ上のディレクトリを指定する。

例 Debug の iphonesimulator の場合
***/Build/Products/Debug-iphoneos/TestFoundation.framework
であれば、
***/Build/Products/Debug-iphoneosになる。

framework の種類が、Debug/Release, iphoneos/iphonesimulator により、パスが異なってくるので、正しいパスを設定する。

Building for iOS, but the linked and embedded framework

症状

iOS 用でフレームワークを含むプロジェクトをコンパイル時に、次のエラー。

プロジェクトパス Building for iOS, but the linked and embedded framework ‘フレームワーク名.framework’ was built for iOS Simulator.

原因

iOS (実機)用にビルドしたが、埋め込まれたフレームワークが iOS シミュレータ用にビルドされている。

対応

Build Settings >> Search Paths >> Framework Search Paths のパスを正しく設定する。1つ上のエラーへの対応方法を参照。

signal SIGABORT

症状

dyld: Library not loaded: @rpath/TestFoundation.framework/TestFoundation

  Referenced from: /Users/uchukamen/Library/Developer/CoreSimulator/Devices/255ADD3E-7C65-4B7E-B2C6-A2F3458C7F13/data/Containers/Bundle/Application/8F3B69D4-05EE-4128-A34D-E85A6D7CEE96/CallFramework.app/CallFramework

  Reason: image not found

dyld: launch, loading dependent libraries

DYLD_SHARED_CACHE_DIR=/Users/uchukamen/Library/Developer/CoreSimulator/Caches/dyld/19G2021/com.apple.CoreSimulator.SimRuntime.iOS-14-0.18A372

DYLD_ROOT_PATH=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot

DYLD_LIBRARY_PATH=/Users/uchukamen/Library/Developer/Xcode/DerivedData/CallFramework-cbztckdabgiykdcxvrwnezepshbh/Build/Products/Debug-iphonesimulator:/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/usr/lib/system/introspection

DYLD_INSERT_LIBRARIES=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/usr/lib/libBacktraceRecording.dylib:/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Develo

原因

プロジェクトから、framework が削除されれた。

対応

プロジェクトに、framework を追加する。

関連情報

SwiftでFramework(ライブラリ)を作成、利用する方法

Xcodeでフレームワークを追加する方法【初心者向け】

Swiftの汎用的なモジュール(Framework)開発

独自のライブラリ(.framework)を組み込んで苦労した話

投稿者: admin

Free Software Engineer

コメントを残す

メールアドレスが公開されることはありません。