2013-05-08 2 views
1

OS X FUSE 기반의 응용 프로그램을 만들었습니다 (즉, OS X FUSE 기반의 자체 파일 시스템을 가지고 있습니다). OSXFUSE가 설치되면 물론/Library/Frameworks의 OSXFUSE.framework를 포함 할 수 있습니다. 나는 응용 프로그램을 배포 할 때 그러나 나는 사용자가 이미 설치되어 기대할 수 없다, 그래서 다음과 같이 나는 번들 프레임 워크를 포함하려고 : XCode 프로젝트에 OSXFUSE 프레임 워크 포함

  • 내 프로젝트/라이브러리/프레임 워크에서 프레임 워크를 끌고
  • :
  • 내가 FUSE없이 시스템에 설치되어 있음을 실행할 때 오류가 발생하는

그러나 그 복사 빌드 단계에 프레임 워크를 추가 (대상 프레임 워크) 새로운 파일 복사 빌드 단계를 만들어

복제 빌드 단계에서이를 방지해야합니까? 내가 여기서 무엇을 놓치고 있니?

+0

우선의 중복입니다. 앱 번들의 파인더에서 '패키지 내용보기'를 사용하려 했습니까? 또는 터미널에서 번들로'cd '하십시오. 다음으로 dyld 링크 경로를 올바르게 설정해야 할 수도 있습니다. 내 가까운 투표 의견을 참조하십시오. – Monolo

+0

확실히이 글의 속임수입니다 : [Xcode 4에서 dylib 파일로 작업 프레임 워크를 만드는 방법] (http://stackoverflow.com/questions/7562793/how-do-i-create-a-working -framework-with-dylib-files-in-xcode-4) – Monolo

+0

예, 프레임 워크는 실제로 응용 프로그램 번들 (Frameworks 폴더)에 복사됩니다. 링크 된 질문을 읽고'Runpath Search Path'에'@loader_path /../ Frameworks'를 추가했는데 아무 효과가 없었습니다 ... – codingFriend1

답변

1

마지막으로 플래그를 변경하여 프레임 워크를 약하게 링크하도록 XCode에 명시 적으로 알릴 수 있습니다.

Project Overview > Target > Linked Frameworks and Libraries에서 수행 할 수 있습니다. 각 프레임 워크 옆에는 optional을 선택할 수있는 드롭 다운 메뉴가 있습니다. 프레임 워크가 실제로 응용 프로그램 번들로 복사있어 경우

Change link status for framework

그래서 제 질문은 실제로 물론 확인이 How do I weak link frameworks on Xcode 4?

0

OSXFuse 프레임 워크가 작동하려면 해당 커널 모듈이 필요하다고 생각합니다. 이 모듈은 별도로 설치해야하므로 먼저 커널 모듈과 환경 설정 패널을 설치 한 설치 프로그램 패키지를 함께 설치 한 다음 응용 프로그램을 설치해야합니다.

또는 모듈을 별도로 설치해야하며 다운로드 링크 또는 그와 유사한 것을 제공해야 함을 사용자에게 알릴 수 있습니다.

+0

실제 용도로 생각했습니다. 동적 라이브러리/프레임 워크의 약점은 약하게 링크되어 있다는 것입니다.나는 설치 프로그램을 포함 시키지만, 앱이 시작되지 않을 때 누락 된 FUSE 라이브러리에 대해 사용자에게 어떻게 알릴 수 있습니까? 내가 뭘하고 싶은지 런타임에 FUSE 설치를 확인하고 존재하지 않는 경우 설치하도록 요청합니다. 어떻게해야합니까? FUSE 구성 요소는 선택 사항이므로 내 응용 프로그램의 설치 프로그램을 갖고 싶지 않습니다. – codingFriend1

+0

예, DLL 및 해당 OSX는 런타임 연결을 가능하게하기위한 것이지만 라이브러리의 존재 여부가 선택적임을 의미하지는 않습니다. 구체적인 문제에 대해서는 별도의 실행 파일을 추가하여 라이브러리가 있는지 확인하고 실행중인 경우 응용 프로그램을 실행하거나 그렇지 않은 경우 다운로드하도록 요청할 수 있습니다. – dandan78

+0

알겠습니다. 답변 해주셔서 감사합니다. 이미 설치를 확인하고 다운로드를 제공하는 별도의 실행 파일이 있습니다. 나는 단지 하나의 응용 프로그램에 모든 것을 넣고 런타임에 검사 할 수 있기를 바랬습니다 ... – codingFriend1

관련 문제