programing

macOS Montrey, Xcode의 코드 서명 오류 - 리소스 포크, 파인더 정보 또는 이와 유사한 이물질은 허용되지 않습니다.

newnotes 2023. 4. 10. 22:12
반응형

macOS Montrey, Xcode의 코드 서명 오류 - 리소스 포크, 파인더 정보 또는 이와 유사한 이물질은 허용되지 않습니다.

이미 시도: MacOS Sierra, Xcode 8에서의 코드 서명 오류.

에러가 표시되는 이미지를 참조해 주세요.

CodeSign /Users/gururajtallur/Library/Developer/Xcode/DerivedData/Flow-bkqjkvtmvjovpyepfjeyqmjpintj/Build/Products/Debug-iphoneos/Super\ Flow\ Flip.app
    cd "/Volumes/Development/Project/Top Best Games/19. Lets Flow/35/let's FLOW - source/proj.ios_mac"
    export CODESIGN_ALLOCATE=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/codesign_allocate
    export PATH="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin"

Signing Identity:     "iPhone Distribution: New Free Games (2CHN583K4J)"
Provisioning Profile: "Super Flow Flipp AppStore"
                      (c6c30d2a-1025-4a23-8d12-1863ff684a05)

    /usr/bin/codesign --force --sign E48B98966150110E55EAA9B149F731901A41B37F --entitlements /Users/gururajtallur/Library/Developer/Xcode/DerivedData/Flow-bkqjkvtmvjovpyepfjeyqmjpintj/Build/Intermediates/Flow.build/Debug-iphoneos/Super\ Flow\ Flip.build/Super\ Flow\ Flip.app.xcent --timestamp=none /Users/gururajtallur/Library/Developer/Xcode/DerivedData/Flow-bkqjkvtmvjovpyepfjeyqmjpintj/Build/Products/Debug-iphoneos/Super\ Flow\ Flip.app

/Users/gururajtallur/Library/Developer/Xcode/DerivedData/Flow-bkqjkvtmvjovpyepfjeyqmjpintj/Build/Products/Debug-iphoneos/Super Flow Flip.app: resource fork, Finder information, or similar detritus not allowed
Command /usr/bin/codesign failed with exit code 1

Code Sign 섹션에서 프로파일과 증명서를 선택할 수 있습니다.아직 오류가 발생하고 있습니다.여기에 이미지 설명 입력

여기에 이미지 설명 입력

이 문제를 어떻게 해결합니까?

해결책 1:

Apple Developer Web 사이트 상기의 문제에 대한 회답은 이쪽입니다.

터미널에서 다음 명령 실행 : 첫 번째 goto 프로젝트 루트 폴더

 xattr -cr <path_to_project_dir>

Xcode를 청소하고 재구축합니다.

해결책 2:

project root 디렉토리로 이동하여 이 명령어 xattr -cr을 실행합니다.

xattr -cr .

Xcode를 청소하고 재구축합니다.

해결책 3:

파인더 정보가 저장된 파일을 찾아 이 문제를 해결할 수 있습니다.

터미널에서 goto project root 디렉토리와 실행

ls -alR@ . > kundapura.txt

이것이 군다푸라를 만듭니다.txt를 선택합니다.com.apple을 검색합니다.FinderInfo 및 모든 파일에 대해 이 속성을 지웁니다.이렇게 하면 돼

xattr -c <filename>

::xattr -c guru.png

모든 것을 클리어하면 코드 사인은 동작합니다.Xcode를 청소하고 재구축합니다.건배.

해결책 4: Mark McCorkle의 답변에서 영감을 얻은

단말기에서 goto 프로젝트의 루트 디렉토리와 명령어 하나씩 실행

  find . -type f -name '*.jpeg' -exec xattr -c {} \;
  find . -type f -name '*.jpg' -exec xattr -c {} \;
  find . -type f -name '*.png' -exec xattr -c {} \;
  find . -type f -name '*.json' -exec xattr -c {} \;

Xcode를 청소하고 재구축합니다.

이 오류는 이미지 파일 내의 속성에서 발생합니다.이는 그래픽 디자이너가 포토샵에서 속성을 사용하여 이미지를 저장하기 때문입니다.

다음은 모든 png 파일을 찾아 속성을 삭제하는 간단한 명령어입니다.터미널에서 프로젝트 루트 디렉토리로 실행합니다.클리닝 및 재구축, 문제 해결.

find . -type f -name '*.png' -exec xattr -c {} \;

앱 코드 서명 시 이 오류가 발생하는 경우:

리소스 포크, 파인더 정보 또는 유사한 이물질이 허용되지 않음 명령 /usr/bin/codesign이 종료 코드 1로 실패했습니다.

프로젝트 루트 폴더로 이동하여 실행

find . | xargs -0 xattr -c

그러면 모든 파일의 속성이 지워집니다.

시에라에서는 서명된 번들에 포함될 수 있는 것에 대한 규칙이 강화되어 리소스 포크는 더 이상 허용되지 않습니다.AppleScript는 오랫동안 사용되지 않았지만 리소스 포크에 정보를 영원히 저장해 왔습니다.Sierra에서는 스크립트를 저장하면 이 리소스 포크 정보는 더 이상 저장되지 않습니다.

즉, 시에라 이전 버전에서 마지막으로 저장한 스크립트를 코드 서명할 수 없습니다. 시에라에서 서명하려면 시에라에서 저장해야 합니다.

영향을 받을 가능성이 높은 사람은 스크립트 내에 다른 스크립트를 번들하는 사람(cordova?)입니다.모든 임베디드 스크립트가 Sierra에 다시 저장될 때까지 컨테이너 스크립트에 서명할 수 없습니다.

갱신:

이것도 효과가 있는 것 같습니다.

xattr -rc .

한 권한 에 추가합니다.sudo xattr -rc .

소스 파일의 속성을 처리하는 가장 쉬운 방법은 Xcode가 코드 서명을 실행하기 전에 아카이브를 지우는 것입니다.이 작업을 수행하려면:

  1. XCode에서 대상 선택
  2. 빌드 단계 탭을 선택합니다.
  3. + 기호를 누릅니다.
  4. 스크립트 실행 단계 새로 만들기 선택
  5. 스크립트에 대해 다음을 입력합니다.

    xattr - cr ~/Library/Developer/Xcode/Derived Data || 에코 클리어

타겟을 빌드하면 코드 시그니처가 깨졌을 가능성이 있는 속성이 삭제됩니다.이 단계에서 삭제하면 소스 코드/프로젝트 디렉토리를 변경할 필요가 없습니다.

스크립트의 "|| echo Clear" 부분은 xatr 오류가 발생하더라도 프로젝트 빌드를 계속합니다.

이 방법은 소스 프로젝트가 변경되지 않고 빌드된 아카이브만 변경되므로 코드 저장소에서 속성을 추가하는 DropBox와 같은 프로그램을 사용하는 경우 유용합니다.

DerivedData 디렉토리와 일치하도록 경로를 변경해야 할 수 있습니다. 이 경로는 코드 서명 오류 옆에 표시됩니다.

xatcodesign xcode fix

다음 명령을 사용했습니다.터미널 창을 사용합니다.프로젝트로 이동하여 다음을 수행합니다.

xattr -rc .

이 문제에 대한 Apple의 공식 답변은 Technical Q&A QA1940에 기재되어 있습니다.

이는 iOS 10, macOS Sierra, watch에서 도입된 보안 강화 변경 사항입니다.OS 3 및 tvOS 10.

코드 서명은 더 이상 앱 번들의 파일에 리소스 포크 또는 파인더 정보를 포함하는 확장 속성을 포함할 수 없습니다.

에러의 이 되고 있는 , 터미널에서 합니다.xattr -lr <path_to_app_bundle>

명령어 "xattr" 를 하여 앱 .xattr -cr <path_to_app_bundle>

<path_to_app_bundle>Xcode 프 x x x x x x x 。를 들어, 「」입니다.~/Development/MyProject

파일을 지우는 것은 좋지만 여러 프로젝트에서는 지루합니다.

그래픽스 앱(예: 이전 버전의 포토샵)은 추가 정보를 씁니다(지금은 메타데이터라고 부릅니다).)는, 외부 파일이나, 다음과 같은 낡은 OSX로부터 입수된 파일입니다.

"com.apple.Resource Fork" 및 "com.apple"을 참조하십시오.예를 들어 FinderInfo"를 선택합니다.

Xcode 8은 빌드에 추가하기를 거부합니다(「git --add 」를 사용하여 프로젝트에 추가했으므로).단말기에서 재귀적으로 검색하여 삭제할 수 있지만 번거로울 수 있습니다.

삭제하기 위해 작은 무료 유틸리티를 작성했습니다.도움이 되길..

https://itunes.apple.com/us/app/cleandetritus/id1161108431?ls=1&mt=12

MacOS 대상에 추가된 새로운 포토샵 생성 PNG에서 확장 속성을 제거하지 않고 앱을 개발하려는 경우 사용자 정의 빌드 설정을 추가하여 코드 서명을 일시적으로 비활성화할 수 있습니다.

CODE_SIGNING_ALLOWED = No 

앱을 배포하는 것 중 하나가 최종적으로 이 문제에 대처해야 하지만, Sierra에서 코드 서명을 생략하는 것이 반드시 간단하지 않은 경우(과거 OS X/X코드에서는 그렇게 하는 것이 더 쉬웠다).

RGriffith의 코멘트에 의하면, 커스텀 빌드 설정의 추가 방법을 모르는 유저를 위한 스크린샷을 몇개 소개합니다.

여기에 이미지 설명 입력

여기에 이미지 설명 입력

심플한 솔루션:-

[를 위해 일하는 중]

순서 1: - 이 폴더로 이동 - 파인더에서 옵션 Go - > Go to Folder (폴더로 이동)를 누릅니다.

다음 예시와 같이 프로젝트 경로를 입력합니다.- Library / Developer / Xcode / Derived Data / your projectname / Build / Products / Debug - iphoneos

이제 사용 가능한 파일 목록이 표시된 창이 나타납니다. 그러면 App.app 파일이 나타납니다. [아무것도 하지 말고 2단계만 기다립니다.

스텝 2:- 새 터미널을 열고 cd만 입력한 후 스텝 1 your App.app을 터미널로 드래그하면 앱 경로가 나타납니다.입력 버튼을 누릅니다.

스텝 3:- 이 명령어를 입력합니다**

xattr -rc.

"를 놓치지 마세요." (도트) 입력버튼을 클릭합니다.

이상입니다. Xcode 프로젝트로 이동하여 정리한 후 다시 실행하십시오.

----- bash 지식 부족 등으로 위의 솔루션을 적용할 수 없는 경우.

Sierra에서 iCloud Drive를 활성화하자마자 이 문제가 발생했습니다.그리고 제 프로젝트는 iCloud Drive와 동기화된 폴더에 있었습니다.나는 이것이 그 추가 속성들을 추가하는 것이라고 생각한다.

임시 솔루션:

프로젝트가 있는 폴더에 대해 iCloud Drive를 사용하지 않도록 설정합니다.

아래 설명에 따라 앱 번들 폴더를 삭제하고 앱을 재구축해야 합니다.

내 앱의 이름은: 증강

터미널 창에서 cd /Users/username/Library/Developer/Xcode/DerivedData/와 같은 앱 폴더를 가져옵니다.

터미널 창에서 앱 폴더에 대한 명령을 실행합니다. 예:xattr -cr agment-flmbiciuwaomgdvhulunibwrms

Clean > Build > Run.

또한 Mac Appstore에는 "CleanDetritus"라는 무료 앱이 있으며 이를 제거할 수 있습니다.

이 문제는 어제 내게 왔다.

(What's wrong)Finder에서 수동으로 파일을 교체하여 이미지 리소스를 업데이트했지만 이 컴파일 오류로 인해 실패했습니다.

(What's right)이런 식으로 이미지를 업데이트하지 마십시오.Xcode, Xcode, Xcassets, Xcassets, Xcassets.에러는 재발하지 않는다.

문제는 코드를 변경하고 다시 실행하면 오류가 다시 나타난다는 것입니다.그런 다음 코드를 컴파일/실행할 때마다 자동으로 명령어를 실행할 수 있는 솔루션을 찾습니다.

@rich-able 덕분에 "Run Script"를 발견했습니다.그런 다음 필드에 "xatr -cr" 명령을 입력합니다.

XCODE 솔루션

가장 좋은 해결책 중 하나는 Go to terminal type 입니다.

xattr -cr "Full path of your project"

오른쪽 풀 경로를 찾으려면 Xcode project -> 정보 가져오기 -> 복사 경로를 클릭하고 로 대체합니다.그런 다음 아래 명령을 입력하십시오.

xattr -cr "Full path of your project"

청소 및 구축 완료.

가장 간단한 수정은 git을 사용하는 경우일 수 있습니다.시험:

$ git stash
$ git stash pop

Git은 파일 메타데이터를 저장하지 않습니다.상기는 파일 메타데이터를 모두 삭제합니다.

터미널을 열고 이 명령을 실행합니다.

xattr - cr ".app 파일 경로"

제가 찾은 바로는,color tag DerivedData디바이스 디버깅 시 위의 오류가 나타납니다.

를제 remove remove remove를 remove remove 를 remove 。color Tag이 오류를 수정해 주세요.

여기에 이미지 설명 입력

전쯤 하여 앱을 xcode와 되지 않아 ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★cordova build ios다시 작동했어요

xattr 명령어로 문제가 해결되지 않는 경우 XCode 9 버그 때문일 수 있습니다.Xcode에서 영향을 받는 파일을 포함한 자원 폴더(내 경우는 .xcassets)를 삭제하고 다시 추가해 보겠습니다.(xattr -lr 명령어를 통해 어떤 파일이 해당되는지 이해해야 합니다.)

파생된 데이터에 문제가 있습니다. 파생된 데이터를 정리한 다음 프로젝트와 빌드를 정리해야 합니다.이 링크를 확인해 주세요.

Macbook을 재기동하는 것만으로 문제가 해결되었습니다.

파생 데이터를 제거할 수 있습니다.Xcode -> Preferences

아래 화살표를 클릭하십시오.Derived Data폴더를 비웁니다.Derived Data

어떻게 된 건지 모르겠지만 시뮬레이터에서 플래터 앱을 실행하던 중 오류가 발생했습니다.나는 사용했다flutter clean명령어를 사용하여 파생 데이터를 삭제하면 모든 것이 정상으로 돌아갑니다.

내 .app은 네트워크 마운트 드라이브에 있었다.

codesign -f -vv --preserve-metadata=entitlements -s {*my Apple distribution cert SHA*} my.app
my.app: resource fork, Finder information, or similar detritus not allowed

경로가 너무 길거나 NAS 기기에 있는 것이 문제인지 모르겠습니다..app을 로컬 다운로드 디렉토리에 복사하여 코드 서명을 할 수 있었습니다.

my.app: signed app bundle with Mach-O thin (arm64) [*com.something.my*]

이 일은 나도 똑같이 일어났다..plist새 파일을 만드는 대신 파일을 만들고 편집합니다.xattr -lr <path>명령어를 사용하면 문제가 있는 파일을 식별할 수 있습니다.

나의 문제는 카르타고를 사용하여 통합한 프레임워크의 의도하지 않은 변경과 관련이 있었다.실수로 프레임워크에서 한 줄을 수정했는데, git에서 종속 빌드 폴더가 무시되어 git에 표시되지 않았습니다.

해결책 : 카르타고에서 프레임워크 폴더를 삭제하고 재구축했습니다.

언급URL : https://stackoverflow.com/questions/39652867/code-sign-error-in-macos-monterey-xcode-resource-fork-finder-information-or

반응형