2021년 5월 7일 금요일

맥(macOS) Big Sur의 Xcode 12.5에서 SFML을 사용하기 위한 설정


 

예전에 Xcode에서 SFML을 사용하기 위한 설정을 했었는데 맥(macOS)과 Xcode의 업데이트때문인지 에러가 발생하며 작동하지 않습니다.

macOS High SierraのXcodeでSFMLを利用するための設定


조사하면서 해결한 내용의 정리입니다.


제일 먼저 접한 에러내용입니다.

에러1

PhaseScriptExecution failed with a nonzero exit code

자세한 내용을 보면 "Cannot get the real path for source ... couldn't copy ..."의 내용이 있는데 소스 경로 및 SFML의 설치 경로와 전혀 관계가 없는 경로입니다.

프로젝트의 xcodeproj파일의 "Build Phases >> Run Script"에서 해당 경로의 설정을 확인할 수 있었습니다. (파란색 박스)

경로를 수정하면 해결될 것 같은데.귀찮습니다..

"Run script >> For install builds only" (빨간색 박스) 에 체크를 해서 실행시에는 스크립트가 작동하지 않도록 하니 해결되었습니다.



그러나 에러는 혼자이길 좋아하지 않습니다. 다음 에러가 고개를 듭니다.

에러2

Reason: no suitable image found.  Did find:
/Library/Frameworks/sfml-system.framework/Versions/2.5.1/sfml-system: code signature in (/Library/Frameworks/sfml-system.framework/Versions/2.5.1/sfml-system) not valid for use in process using Library Validation: mapped file has no cdhash, completely unsigned? Code has to be at least ad-hoc signed.

Library Validation로 처리한 결과 SFML의 Code Signature가 유효하지 않다는 내용입니다.

프로젝트의 xcodeproj파일의 "Signing & Capabilities >> Hardened Runtime >> Runtime Exceptions >> Disable Library Validation" (빨간색 박스) 에 체크를 해서  Library Validation를 사용하지 않도록 설정하니 해결되었습니다.



마지막 최종에러가 등장합니다.

에러3

확인된 개발자가 등록한 응용 프로그램이 아니기 때문에 'sfml-system.framework' 사용을 차단했습니다.

App Store가 아닌 곳에서 다운받은 프로그램을 실행할 때 차단되는 것과 동일한 에러가 발생합니다만 프로그램이 아닌 framework이기 때문에 '오른쪽클릭해서 열기'의 방법으로 해결할 수 없습니다.

"시스템 환경설정 >> 보안 및 개인 정보 보호 >> 일반 >> 다음에서 다운로드한 앱 허용"(빨간색 박스)에 차단된 내용이 표시되므로 "확인 없이 허용"을 클릭해서 개별 허용을 할 수 있으나 SFML의 framework에는 sfml-system.framework하나가 아닌 sfml-audio, sfml-network..등의 여러 가지가 포함되어 있어 이 방법으로는 해결되지 않습니다.

 

모든 곳에서 다운로드한 프로그램을 실행하도록 허가 해 줘야 합니다.

터미널에서 spctl명령을 이용합니다.

sudo spctl --master-disable
모든 곳 활성화sudo spctl --master-disable
모든 곳 비활성화sudo spctl --master-enable
모든 곳 활성화/비활성화 상태확인sudo spctl --status



모든 보스(에러)를 해치우고 클리어 화면(SFML실행 윈도우)을 봅니다.





댓글 없음:

댓글 쓰기

1、2、QWER! in OSAKA (大阪 2025/4/10(木) Yogibo META VALLEY)

https://www.creativeman.co.jp/event/qwer-osaka/ QWER - CREATIVEMAN PRODUCTIONS 主催:LIVET 企画:ソニー・ミュージックソリューションズ 招聘:クリエイティブマンプロダクション 制作協力:クリエイテ...