2014-10-28 2 views
0

번들 내부의 Mac 응용 프로그램을 만드는 방법에 대해 혼란 스럽습니다. 그것은 나의 첫 번째 맥 어드벤처이고 웹에서 찾은 정보는 모순되거나 현실에 맞지 않습니다. 여기에 내 이야기가있다, 내가 어디에 파일을 배치 해야하는지 이해하는 데 도움 - 제발 맥 애플 리케이션 번들.osx의 Mac 번들 응용 프로그램 ... 사용자 파일과 응용 프로그램 데이터베이스가 번들의 내부 또는 외부에 저장됩니까?

Windows 및 Linux에서 Mac으로 응용 프로그램 (Qt로 작성)을 이식하고 있습니다.

놀라 울 정도로 잘 작동합니다. 나는 번들 구조를 만든 :

myapplication.app 
    Contents 
     Frameworks ---- a bunch of dylibs 
     MacOs  ---- the actual app 
     Plugins ---- some 
     Resources ---- myapplication.rc, empty.lproj, qt.conf 
     Info.plist 
     PkgInfo 

내 응용 프로그램이 자원 데이터베이스 사용 - 설치된 위치에서, 코드에서 열을하거나 사용자가 다른 위치로 변경할 수 있습니다 ... 그래서 데이터베이스에 액세스하여 파일이어야합니다 브라우저.

응용 프로그램은 또한 사용자 지정 파일을 읽거나 씁니다 (심지어 끌어서 놓을 수도 있습니다).

내가 그것을 테스트입니다으로

, 나는 내가 같은 장소에서 데이터베이스 위치를 설정 /Users/CurrentUser/Documents/MyCompany/MyProduct/

에서 사용자가 생성 한 파일에 대한 기본 읽기/쓰기 위치를 설정합니다.

임시 비트 맵 프린터로 전송 -

이 좋은이며 번들 응용 프로그램 작동 (컵 임시 폴더를 사용할 수있다) 같은 장소 /tmp를? 필자는 어떻게 든 번들이란 앱을 통해 생성 된 모든 파일이 번들 안에 저장된다는 것을 의미한다는 착각을 불러 일으켰습니다. 바로 이것이 내 iPad에서 작동하는 방식입니다. 위의 경로는 묶음 안에 분명히 없습니다.

번들 내의 Resources 폴더에 데이터베이스를 배치하려고 시도했을 때 application.app을 클릭하여 응용 프로그램을 시작한 후 찾아 볼 때 응용 프로그램 번들을 열 수 없었습니다.

분명히 혼란 스럽습니다.

사용자는 번들 외부 나 외부 위치에 액세스 할 수 있습니까? 사용자가 만든 파일의 "내용"안에 "Documents"폴더를 만들어야합니까? 또는 기본 문서 폴더 /Users/CurrentUser/Documents/MyCompany/MyProduct/을 만들어야합니까?

동일한 질문이 리소스 데이터베이스에 적용됩니다. 추가 물음표가 있습니다. 설치하는 동안이 데이터베이스를 시스템에 배치 할 수 있기를 원합니다. 모든 사용자가 액세스 권한을 가지기를 바랍니다 (읽기 권한). 그것을위한 좋은 장소는 무엇입니까?

답변

0

Mac 용 프로그래밍은 분명히 도전이었습니다.

  • 사용자가 파일

    /사용자/ME/문서/MyCompany/MyProduct/

  • 구성 파일

    을 만들어 :

    나는 파일에 대한 최적의 위치라는 것을 발견 /Users/me/.config/MyCompany/MyProduct/something.ini

    /사용자/내/환경 설정/xxx.PLIST

  • 리소스 파일

    /사용자/ME/응용 프로그램 지원/MyCompany/MyProduct/

    내용/자원/

  • 임시 파일 - 단지 환경 ​​변수 또는 특정 언어 명령을 사용하여 작성/tmp에 끝납니다.

관련 문제