ObjectiveC 프로젝트에서 Swift의 자작 framework를 호출하려고하면 오류가 발생합니다.
2979 단어 iOSMacOSXSwiftObjective-CXcode
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에 코드를 쓰면 좋을 것 같습니다.
Reference
이 문제에 관하여(ObjectiveC 프로젝트에서 Swift의 자작 framework를 호출하려고하면 오류가 발생합니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/rh_/items/ee99e0765af0da1809e7
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
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에 코드를 쓰면 좋을 것 같습니다.
Reference
이 문제에 관하여(ObjectiveC 프로젝트에서 Swift의 자작 framework를 호출하려고하면 오류가 발생합니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/rh_/items/ee99e0765af0da1809e7
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
このエラーは、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에 코드를 쓰면 좋을 것 같습니다.
Reference
이 문제에 관하여(ObjectiveC 프로젝트에서 Swift의 자작 framework를 호출하려고하면 오류가 발생합니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/rh_/items/ee99e0765af0da1809e7
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
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에 코드를 쓰면 좋을 것 같습니다.
Reference
이 문제에 관하여(ObjectiveC 프로젝트에서 Swift의 자작 framework를 호출하려고하면 오류가 발생합니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/rh_/items/ee99e0765af0da1809e7
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
/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에 코드를 쓰면 좋을 것 같습니다.
Reference
이 문제에 관하여(ObjectiveC 프로젝트에서 Swift의 자작 framework를 호출하려고하면 오류가 발생합니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/rh_/items/ee99e0765af0da1809e7
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
/ObjectibCFrame.app/Frameworks $(PROJECT_DIR)
だめ
$(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에 코드를 쓰면 좋을 것 같습니다.
Reference
이 문제에 관하여(ObjectiveC 프로젝트에서 Swift의 자작 framework를 호출하려고하면 오류가 발생합니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/rh_/items/ee99e0765af0da1809e7
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
$SRCROOT
//絶対パス→相対パスに変更
だめ
$(SRCROOT)/Classes/
だめ
hogehoge.framework의 Build Settings의 OS X Deployment Target을 현재 Mac의 OS 버전에 맞추면 치료할 것 같습니다.
htp : // bg. 다 lt. 메/137
안돼
다음 일
~/.bash_profile에 코드를 쓰면 좋을 것 같습니다.
Reference
이 문제에 관하여(ObjectiveC 프로젝트에서 Swift의 자작 framework를 호출하려고하면 오류가 발생합니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/rh_/items/ee99e0765af0da1809e7
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(ObjectiveC 프로젝트에서 Swift의 자작 framework를 호출하려고하면 오류가 발생합니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/rh_/items/ee99e0765af0da1809e7텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)