ObjectiveC 프로젝트에서 Swift의 자작 framework를 호출하려고하면 오류가 발생합니다.

Library not loaded: @rpath

2017-01-17



OC 프로젝트에서 Swift의 framework를 호출하려고하면 오류가 발생합니다.
dyld: Library not loaded: @rpath/LampFrame.framework/LampFrame
  Referenced from: /Users/lamplight02/Library/Developer/CoreSimulator/Devices/595F3047-43B1-4C37-B346-7F836665BE39/data/Containers/Bundle/Application/14CE5C50-9ED6-4216-B9AE-14792BF89595/LampFrameProject-Objective-C.app/LampFrameProject-Objective-C
  Reason: image not found
(lldb) 

시도한 것



· Linked Frameworks and Libraries에 해당 라이브러리가 설정되어 있는지 확인
· Build Phases> Copy Files에 해당 라이브러리가 설정되어 있습니까?
· Build Settings> Linking> Runpath Search Paths에 @loader_path/../Frameworks/

가능한 원인


このエラーは、Swift製フレームワークからSwiftの標準ライブラリをdyld(3)しようとしたものの、そういうファイルは無いからロードできなかったために発生しています。Swiftの標準ライブラリはアプリにバンドルされたものを使うので(将来は変わるかも)、アプリの設定によって、きちんとバンドルしてあげないといけないのです。

솔루션 시도


この場合、ターゲットのBuild Settingsにある[Build Options]-[Embeedded Content Contains Swift Code]が、きちんとYesになっているかどうかをチェックします。そして、もしNoになっていたらYesに変更することで、解決するはずです。

Embeedded Content Contains Swift Code 없음



ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES이기 때문에 YES로 만들었지만 움직이지 않습니다.

xcode build settings에 항목을 추가할 수 없습니까?

분명히 추가 할 수 있습니다.

Build Settings에 스테이징 환경 추가


Build Settings にステージング環境を追加

Project Navigator の最上部にあるプロジェクトファイルを選択
「PROJECT」ファイルのアイコンを選択し、「Info」のタブを選択
「Configuration」内の + ボタンを押下し任意の名前で追加。この例では「Staging」として追加

움직이지 않는다



막힌



잘 살펴보면 늦게 패스 문제가 아닐까. 어쩌면 Objectib-C 프로젝트에서는 OS 임베디드 프레임워크(/System/Library/Frameworks) 이외의 곳에 있는 프레임워크는 검색 경로를 설정해야 한다./System/Library/Frameworks로 Lampframe을 드래그하려고하면 할 수 없었습니다.

Framework Search Paths 지정


/Library/Framewerks
だめ

Library를 프로젝트 이름으로 사용


/ObjectibCFrame.app/Frameworks $(PROJECT_DIR)
だめ

Run Search Paths 설정


$(inherited) @executable_path/Products
だめ

LIBRARY SEARCH PATHS 설정


$SRCROOT
//絶対パス→相対パスに変更
だめ
$(SRCROOT)/Classes/
だめ

Deployment Target 맞추기



hogehoge.framework의 Build Settings의 OS X Deployment Target을 현재 Mac의 OS 버전에 맞추면 치료할 것 같습니다.
htp : // bg. 다 lt. 메/137

안돼

다음 일



~/.bash_profile에 코드를 쓰면 좋을 것 같습니다.

좋은 웹페이지 즐겨찾기