2013-09-23 5 views
0

을 사용하여 파일을 다시 서명하는 Apple Automator 워크 플로우이 태스크의 기초로 패키지화 된 .ipa 패키지가 있습니다. 이 작업을 수행하려면 Automator 서비스를 선택하고 실행하고 싶습니다..ipa 패키지에 파일을 붙여 넣은 다음 코드 기호

  1. 가 함께 우편 아카이브
  2. 추출 된 아카이브는 하나의 디렉토리 (페이로드)를 포함를 추출 .zip으로하는 입력의 .ipa의 이름을 바꿉니다

    서비스가 필요한 단계입니다 그것에 하나의 .app 파일. 서비스가 어떻게 든이 .app 파일을 열어야합니다. Finder에서 "패키지 내용보기"라고 말하면됩니다.
  3. .app 패키지 내부에 파일을 붙여 넣어야합니다. 이상적으로 이것은 처음부터 서비스에서 물어 보았을 것입니다.
  4. 코드 서명을 사용하여 .app 패키지에 다시 서명하십시오. Codesign은 매개 변수 (사용할 인증서)도 필요합니다. 이것도 서비스에 의해 요구됩니다 (이것은 키 스토어의 키와 동일 할 필요가있는 String 값).
  5. 페이로드를 다시 채우십시오.
  6. 원본 파일을 삭제하십시오.
  7. 원본 파일의 name.ipa

꽤 큰 작업에 Payload.zip 이름을 바꾸고 난 그 자동화로 수행 할 수 있는지 확실하지 않습니다. 나는 그걸로 일한 적이 없기 때문에, 나는 이미 3 번 지점에서 이미 붙어있다.

나는이 모든 단계를 수동으로 할 수 있지만 실제로는 자동화되어있다.

앞에서 설명한대로 1 단계와 2 단계는 "이름 찾기 항목 찾기"및 "찾기 항목 열기"를 사용하여 수행됩니다. 입력 값은 Finder에서 선택한 파일입니다. 하나의 서비스가이 작업을 수행 할 수 없으면 필요한 경우 두 부분으로 나눌 수 있습니다.

도움이 되었으면 좋겠습니다.

답변

1

당신은 다음과 같은 쉘 스크립트를 사용할 수 있습니다 :

for f; do 
    temp=/tmp/$(uuidgen) 
    mkdir $temp 
    cd $temp 
    unzip "$f" 
    cp /path/to/file Payload/*.app 
    codesign -s /path/to/certificate Payload/*.app 
    rm "$f" 
    zip -r "$f" Payload 
    rm -r $temp 
done 
+0

나는 그 아마 훨씬 더 간단한 해결책, 당신은 절대적으로 옳은 것 같아요. 귀하의 의견을 보내 주셔서 감사합니다! – AlBirdie

+0

업데이트 된 ResourceRules가 ipa 파일과 동일한 디렉토리에있는 경우 절대 경로를 사용하는 대신 copy 명령에서 어떻게 주소를 지정합니까? "$ @"/../ ResourceRules.plist 시도했지만 작동하지 않습니다. – AlBirdie

관련 문제