Finder의 "압축" 메뉴 항목과 동일한 형식으로 zip 파일을 만드는 방법은 무엇입니까?

StackOverflow https://stackoverflow.com/questions/107903

  •  01-07-2019
  •  | 
  •  

문제

Mac OS X에서는 일부 파일을 선택하고 상황에 맞는 메뉴나 파일 메뉴에서 "압축"을 선택하여 Finder에서 zip 아카이브를 생성할 수 있습니다.불행하게도 결과 파일은 다음에 의해 생성된 아카이브와 동일하지 않습니다. zip 명령(기본 옵션 사용)

이러한 구별은 Apple이 운영하는 적어도 하나의 서비스에 중요합니다. zip 명령.아카이브를 수동으로 생성해야 하기 때문에 릴리스 빌드 프로세스를 완전히 자동화할 수 없습니다.

쉘 스크립트 내에서 올바른 형식으로 zip 아카이브를 생성하려면 어떻게 해야 합니까?

편집하다:오래 전에 이 질문을 쓴 이후로 저는 두 언어 사이의 주요 차이점을 알아냈습니다. ditto 그리고 zip 심볼릭 링크를 처리하는 방법은 다음과 같습니다.App Bundle 내부의 코드 서명에는 심볼릭 링크가 포함되어 있으므로 일반 파일로 저장되지 않고 링크로 보존되어야 합니다. ditto 기본적으로 이 작업을 수행하지만 zip 그렇지 않습니다(옵션 -y 필수).

도움이 되었습니까?

해결책

다음과 같이 ditto 명령줄 도구를 사용하세요.

ditto -ck --rsrc --sequesterRsrc folder file.zip

참조 맨페이지도 마찬가지 이상.

다른 팁

iPhone App Store 빌드를 만드는 Ruby 스크립트가 있지만 생성된 zip이 iTunes Connect에서 허용되지 않습니다.Finder의 "압축" 기능을 사용하면 승인되었습니다.

millenomi의 답변이 나에게 가까웠지만 이 명령이 결국 작동했습니다.iTunes Connect가 내 빌드를 승인했고 앱이 승인되었으며 문제 없이 다운로드할 수 있으므로 테스트되었습니다.

ditto -c -k --sequesterRsrc --keepParent AppName.app AppName.zip

남자도 마찬가지라고 말합니다:

 The command:
       ditto -c -k --sequesterRsrc --keepParent src_directory archive.zip
 will create a PKZip archive similarly to the Finder's Compress functionality.

공지 --keepParent

단서는 '자동화' 태그에 있습니다.

'Create Archive' 작업을 사용하는 Automator.app에서 작업을 생성하고 명령줄에서 호출합니다('automator' 참조).

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top