Mac codesign 및 실행 파일 변환 하는 Script

apple script 는 권한 문제가 있다

do sheel ..... with administrator privileges 권한문제 가 몬테레이에서 작동하지않는다.

해결이 안된다 sudo 를 암호 없이 실행하게 만들라 하는데 ..

Automator 에 빠른실행에 스크립터로 넣으면 된다.

쉘 스크립터가 더나은것같지만 실행파일변환시 와일드카드처럼작동한다,

---------------------------------------------Apple Script----------------------------

on run {input, parameters}

set getData to input

set orgPath to POSIX path of (getData as text)

set strPath to (alias getData as string) & "Contents:Macos:"

    set mypath to alias strPath

set {folder:Fo, package folder:Pa} to info for getData without size

if Fo and not Pa then

display dialog "😂선택한 항목은 폴더입니다 스크립터를 종료합니다😂"

else if Fo and Pa then

set p to POSIX path of ((choose file with prompt "😀실행파일로 변환할 파일을 선택하세요😀" of type {} default location mypath) as text)

do shell script "xattr -cr " & quoted form of orgPath & "; codesign --force --deep --sign - " & quoted form of orgPath & "; chmod 577 " & quoted form of p

else

do shell script "chmod 577 " & quoted form of orgPath & "; xattr -cr " & quoted form of orgPath & "; codesign --force --deep --sign - " & quoted form of orgPath

end if

end run

---------------------------------------------Shell Script----------------------------

export HISTIGNORE='*sudo -S*'

for f in "$@"

do

if [ -d "$f" ] ; then

echo "YOURPASSWORD" |sudo -S -k xattr -cr "$f"

echo "YOURPASSWORD" |sudo -S -k codesign --force --deep --sign - "$f"

# space filename no process. Macos folder all file EXE

for fileName in $(ls "$f/Contents/MacOS/"); do

    echo "YOURPASSWORD" |sudo -S -k chmod 577 "$f/Contents/MacOS/$fileName"

done

else

echo "YOURPASSWORD" |sudo -S -k chmod 577 "$f"

fi

done

댓글을 작성해보세요.

채널톡 아이콘