2011-02-03 1 views
3

openframeworks에서 내 응용 프로그램을 빌드하여 어디에서든지 열 수 있고 응용 프로그램 Resources 폴더에서 필요한 이미지를로드 할 수 있습니다.xcode에서 openframeworks 응용 프로그램을 번들로 제공하는 방법 (상대 자원 연결?)

저는 이것이 상대 링크라고 생각합니까?

나는 이전 엑스 코드에 이전을 완료하고 61

이렇게의 나는 '빌드로, 왼쪽에서 프로젝트 파일에 필요한 이미지를 드래그하고 실행 대상에 추가 단계 '->'파일 복사 '.

이번에는 마지막으로 문제를 해결 한 ofSetDataPathRoot()의 모든 종류의 메소드를 시도해 보았습니다.

모든 아이디어/도움을 주시면 감사하겠습니다.

감사

+0

지금 엑스 코드의 어떤 버전을 사용하고 있습니다 : 앱의 설정 방법 내부

? 또한 OF 버전은 무엇입니까? – mummey

답변

0

ofSetDataPathRoot()이 문제를 해결해야한다. 아마도 대체 루트 경로를 잘못 설정하고 있습니까?

문자열 경로에서 직접 ToDataPath()를 호출하고 결과를 출력 한 다음 .app 번들 내에있는 cd을 사용하여 경로가 올바른지 확인하십시오. 경로는 .app 번들 내에서 실제 실행 파일의 위치를 ​​기준으로 표현되므로 실행 파일이 myApp.app/Contents/MacOS/myApp이고 데이터 파일이 myApp.app/Contents/Resources 인 경우 ofToDataPath("texture.png")../Resources/texture.png과 같은 결과를 반환합니다.

전화 번호 getcwd()을 호출하여 현재 작업 디렉토리 (예 : myApp.app/Contents/MacOS)를 다시 확인하고 터미널을 열고 자세한 내용을 보려면 man getcwd을 입력하십시오.

0

oF 이제 데이터 경로 루트 은 기본적으로 ofToDataPath()에 대한 내부 호출을 설정합니다. 어떤 버전을 사용하고 있습니까?

제품의 패키지 내용을보고 자원이 적절한 빌드 단계에서 사본을 얻고 있는지 확인 했습니까?

8

먼저 당신은 빌드 단계를 추가하여 응용 프로그램 번들로/빈/data 디렉토리를 복사 엑스 코드 말할 필요 :

1. Click on your project in the Project Navigator 
2. Select "Build Phases" 
3. Toggle open the "Run Script" section and paste in the following: 
cp -r bin/data "$TARGET_BUILD_DIR/$PRODUCT_NAME.app/Contents/Resources"; 

그런 곳에서 자체 데이터 폴더의 상대를 찾기 위해 응용 프로그램을 말해 묶음.

ofSetDataPathRoot("../Resources/data/");