2010-03-27 5 views
1

일부 http 요청, 일부 파일 시스템 읽기,/usr/share로 파일 복사, cron (launchd가 아닌) 설정 및 사용자에게 몇 가지 정보를 요청해야하는 코코아 응용 프로그램과 같은 "설치"를 개발 중입니다. 유연성이 필요하기 때문에 PackageMaker를 버렸습니다. 에코코아 - 파일을/usr/share에 복사하는 방법?

현재 모든 것이 잘되어 가고 있지만, 내 마지막 설치 단계에서, 나는이 필요합니다 (있는 경우)

  • 내 이전에 설치 한 응용 프로그램 폴더를 삭제합니다. 그것은 항상 같은 경로입니다 :는/usr/share /을 my_app
  • 복사 응용 프로그램 파일은/usr/공유 /을 my_app는
  • 업데이트 cron 작업
  • 를 :는/usr/share /을 my_app
  • 는 다시 응용 프로그램 폴더 만들기

/usr/share/MY_APP는 관리자 권한으로 보호되어 있으므로 정기적으로 삭제해야합니다.

이러한 단계를 구현하는 가장 좋은 방법은 무엇입니까?

현재, Xcode 3.2를 사용 중입니다.

고맙습니다. 카를로스.

+4

/usr/local/*을 제외한/usr 아래의 항목은 모두 Apple OS의 일부이며 Apple 만 설치해야합니다. 코코아 응용 프로그램이/응용 프로그램 또는 기타 유사한 것으로되어 있어야 서비스 등이 찾을 수 있습니다. – Mark

+3

그리고 설치 패키지는 실제로 갈 길입니다. 사용자 지정 코드를 실행할 수 있으므로 수행해야합니다. – Josh

답변

2

프리 플라이트 스크립트, 포스트 플라이트 스크립트, 그리고 아마도 커스텀 UI를위한 인스톨러 플러그인 사이에서, 나는 당신이이 모든 것을 PackageMaker에서 할 수없는 이유가 없다.

참고 : "Installer plug-in"은 약간의 혼동을줍니다. 사용자는 이 아니며은 별도의 단계로 어딘가에 플러그인을 설치해야합니다. 당신은 당신의 패키지 안에 플러그인을 포함하고, Installer는 거기에서 플러그인을 사용합니다.

관련 문서는 a ReadMe file in a sample code project입니다. 2.0 이후 Xcode에는 Installer 플러그인 프로젝트 템플릿도 있습니다.

또한 an Installer plug-in won't get used if the user does a command-line installation입니다. 물론 사용자 정의 설치 프로그램을 작성하는 경우 명령 줄에서 설치할 수 없습니다 (사무실이나 실험실에 원격 설치하는 경우 포함).

By the way : 왜/usr/share입니까? 너 거기에 뭐하고있어? 정말로 성취하려는 일을하는 더 좋은 방법이있을 수 있습니다.

+0

/usr/share에 설치하는 이유는 응용 프로그램이 크로스 OS (http://preyproject.com)이고 Linux에서 처음 배포 된 것이기 때문입니다. 게다가 그것은 기본적으로 주어진 주파수로 URL을 검사하는 cron 작업이기 때문에 사용자 인터페이스를 가지고 있지 않으며, 필요한 경우 많은 bash 명령어를 실행해야합니다. Cocoa 응용 프로그램은 핵심 응용 프로그램을 적절하게 구성하는 데 필요하며 (이전의 구성을 재사용해야하는 경우), POST를 수행하여 안정적인 HTTP 서비스를 구현하고 구현합니다 어떤 논리. 다시 한 번 감사드립니다. – cyaconi

+0

cyaconi : 앞서 언급했듯이 Installer 플러그 인에서 동일한 작업을 수행 할 수 있어야합니다. –

+0

피터, 한번 시도해 보겠습니다. 고맙습니다! – cyaconi

관련 문제