2010-04-15 9 views

답변

3

응용 프로그램에서이 사실을 알아야하는 진짜 이유가있는 경우 데스크톱/서버에서 차이를 만드는 구성 요소가 있는지 확인하는 것이 좋습니다. 예를 들어, 서버 버전에 프로그램 또는 라이브러리 foo이 포함되어 있고 데스크톱 버전이 아니며 foo을 사용하려는 경우 foo의 존재 여부 (및/또는 버전)를 확인하는 대신 서버 대 데스크탑 OS.

1

어쩌면 당신이 sysctl API를 사용하여 차이를 찾을 수 있습니다 (한편, OS 버전을 확인하는 하나의 가능한 출발점이 명령. sw_verssystem_profiler SPSoftwareDataType이다), 또는 Gestalt

+0

이 API는 이미 확인했지만 불행히도 적절한 플래그 나 매개 변수를 찾을 수 없습니다. (Gestalt는 수백 개의 플래그를 가지고 있으며이 작업에 적합한 것을 찾지 못했습니다.) – killerovsky

6

sw_vers은 그것을 할 것으로 보인다 /System/Library/CoreServices/ServerVersion.plist를 확인하십시오. 파일이 있는지를 보면서 알 수 있습니다.

+0

사실 내 경험에 의하면 신경 쓰지 않는 Apple 제품과 거의 같은 것입니다. –