macOS High Sierra Xcode의 코드 서명 오류-리소스 포크, Finder 정보 또는 이와 유사한 장치는 허용되지 않습니다


263

이미 시도 : 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

코드 서명 섹션에서 프로파일과 인증서를 선택할 수 있지만 여전히 오류가 발생합니다. 여기에 이미지 설명을 입력하십시오

여기에 이미지 설명을 입력하십시오

이 문제를 해결하는 방법?


1
깨끗하고 "alt"를 깨끗하게 했습니까?
thorb65

방법? 방금 xcode 계정에서 인증서를 다시 생성하고 웹 사이트에서 프로필을 생성하고 다시 시도했지만 여전히 운이 없습니다.
iPhoneProcessor

아놀드 로아 스 (Arnold Roas)의 답변은 아래의 프로젝트를 수행했습니다. 그러나 나중에 컴파일이 성공하려면 Product> Clean in XCode를 수행해야 할 수도 있습니다.
Fredrik Johansson

플러스 cocos2d-x
fnc12

답변:


583

해결책 1 :

Apple Developer Website 위의 문제에 대한 답변 여기를 클릭하십시오 .

터미널에서 아래 명령을 실행하십시오 : 첫 번째 goto 프로젝트 루트 폴더

 xattr -cr <path_to_project_dir>

Xcode를 정리하고 다시 빌드하십시오. 건배

해결책 2 :

프로젝트 루트 디렉토리로 가서 xattr -cr 명령을 실행하십시오.

xattr -cr .

Xcode를 정리하고 다시 빌드하십시오. 끝난.

해결책 3 :

파인더 정보를 보유한 파일을 찾아서이 문제점을 해결할 수 있습니다.

터미널에서 프로젝트 루트 디렉토리로 이동하여 실행하십시오.

ls -alR@ . > kundapura.txt

현재 디렉토리에 kundapura.txt가 생성됩니다. 이제 com.apple.FinderInfo를 검색하고 모든 파일에 대해이 속성을 지우십시오. 당신은 이렇게 할 수 있습니다

xattr -c <filename>

예: xattr -c guru.png

모두 지우면 코드 서명이 작동합니다. Xcode를 정리하고 다시 빌드하십시오. 건배

솔루션 4 : Mark McCorkle의 답변에서 영감을 받음

터미널에서 프로젝트의 루트 디렉토리로 이동하여 하나씩 명령을 실행하십시오.

  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를 정리하고 다시 빌드하십시오. 끝난.


7
Xcode 8에서이 수정 된 코드 부호 오류입니다. 훌륭한 솔루션입니다.
iPhoneProcessor

4
110 개의 파일이 있습니다. 모든 것을 자동으로 처리하는 bash 명령은 무엇입니까?
Fawkes

2
고마워요
Ajmera를

5
이것은 생명의 은인입니다. 나는 이것에 몇 시간을 보냈다.
잭슨

4
공유해 주셔서 대단히 감사합니다.
G Chris DCosta

171

이미지 파일 내의 속성에서 오류가 발생했습니다. 이것은 그래픽 디자이너가 Photoshop에서 이미지를 속성으로 저장하여 발생했습니다.

다음은 모든 png 파일을 찾아 해당 속성을 제거하는 간단한 명령입니다. 터미널의 프로젝트 루트 디렉토리에서 이것을 실행하십시오. 청소 및 재건; 문제 해결됨.

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

12
이것은 정답입니다. 더 간단하고 빠르며 수동 작업이 필요하지 않습니다. @NatureFriend의 답변에 따르면 문제가있는 80 개의 파일이 있습니다.
Roger Oba

3
감사합니다! 이 이상한 오류에 대한 답을 찾으려고 노력한 시간은 엄청난 시간 낭비입니다!
lppier

나를위한 더 빠른 터미널리스 솔루션은 ImageOptimizer의 모든 이미지를 드래그하는 것입니다 (이것은 쓸모없는 속성을 모두 버립니다).
blackjack75

pixelmator에서 새 아이콘을 저장했으며 동일한 문제가 발생했습니다. 감사.
Guy Lowe

위의 'xcattr -cr'명령에 대한 권한이 거부되었습니다 (위에 나열된 Apple 문서를 통해 지시 됨) : developer.apple.com/library/archive/qa/qa1940/_index.html Running Xcode High Sierra 10.13.4에서 9.3
Randoramma

95

앱을 공동 디자인 할 때이 오류가 발생하는 경우 :

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

프로젝트 루트 폴더로 이동하여 실행하십시오.

find . | xargs -0 xattr -c

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

Sierra에서는 서명 된 번들에있을 수있는 규칙이 강화되었으며 더 이상 리소스 포크가 허용되지 않습니다. AppleScript는 오랫동안 정보를 사용하지 않았지만 리소스 포크에 정보를 영원히 저장해 왔습니다. Sierra를 사용하면 스크립트를 저장할 때이 리소스 포크 정보가 더 이상 저장되지 않습니다.

이는 Sierra 이전 버전에서 마지막으로 저장된 스크립트를 공동 디자인 할 수 없음을 의미합니다. Sierra에 로그인하려면 Sierra에 저장해야합니다.

영향을받을 가능성이있는 사람들은 다른 스크립트를 자신의 스크립트에 묶는 사람입니다 (코르도바?). 임베디드 스크립트가 모두 Sierra에서 다시 저장 될 때까지 컨테이너 스크립트에 서명 할 수 없습니다.

최신 정보:

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

xattr -rc .

권한 오류가 충분하지 않은 경우 sudo를 앞에 추가하십시오. sudo xattr -rc .


4
나는 터미널과 "논쟁을위한 공간이 부족하다"에서 그것을 시도했다
Fawkes

1
이것은 매력으로 작용했습니다! 또한 XCode에서 Product> Clean을 수행해야했지만 프로젝트가 빌드되었습니다!
Fredrik Johansson

고맙습니다, 작동합니다. 제 경우에는 문제없이 장치에서 테스트 할 수 있었지만 시뮬레이터에서 시도하면 작동하지 않으며 위의 문제를 보여줍니다. 귀하의 솔루션은 내 문제를 해결했습니다.
Mahmud Ahsan

xattr -rc 작업!
matt

Corona SDK로 구축하고 동일한 문제에 직면했습니다. xattr -rc 나를 위해 일했다.
Rais Iqbal

31

소스 파일에서 속성을 처리하는 가장 쉬운 방법은 공동 디자인을 실행하기 전에 Xcode에서 아카이브를 정리하는 것입니다. 이것을하기 위해:

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

    xattr -cr ~ / 라이브러리 / 개발자 / Xcode / DerivedData || 에코 지우기

이제 타겟을 만들면 공동 디자인을 손상시킨 속성이 지워집니다. 이 단계에서 삭제하면 소스 코드 / 프로젝트 디렉토리를 변경할 필요가 없습니다.

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

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

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

xattr codesign xcode 수정


1
Finder에서 ⌘-D를 사용하여 동일하지 않은 프로젝트로 만든 프로젝트에서만 문제가 나타납니다. 어떤 이유로 든 더 인기있는 솔루션 중 어느 것도 나를 위해 일하지 않았습니다. 이건
clozach

1
감사합니다! 솔루션을 2 시간 동안 검색 한 후에 이것이 효과가있었습니다.
카터 콥

1
드디어! 몇 시간 동안 다른 솔루션을 사용해 본 결과 해결되었습니다! 이것을 먼저 시도하되 공동 설계 오류로 표시된 경로를 대체하십시오
jmf1205

나는이에서 xattr -cr "$ PROJECT_DIR을"한 실행 스크립트 추가, 그래서 나를 위해, 문제는 ... 소스 코드의 이미지였다
리틀 워치

많은 감사, 이것은 여전히 ​​작동합니다. 제 경우에는 xattr -cr ~ / Users / msc / OneDrive / 01 Work / APP / Flutter / lts-flutter / build / ios / Debug-iphoneos || 반향 제거
mactrix

26

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

xattr -rc .

네, 때때로 프로젝트 디렉토리 내부의 속성을 지우는 것만으로도 도움이됩니다. Lame Apple, 왜 그런 엉터리 물건을 만들어야 하는가
Anton Malyshev

최상위 투표 답변 외에 이것은 대안으로도 사용되었습니다
Lance Samaria

또한이 작업을 수행하려면 프로젝트 폴더 <cmd + K>를 정리해야했습니다.
Lance Samaria

21

기술 Q & A QA1940 에는이 문제에 대한 공식 Apple 답변이 있습니다.

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

코드 서명은 더 이상 앱 번들의 파일이 리소스 포크 또는 Finder 정보를 포함하는 확장 된 속성을 갖도록 허용하지 않습니다.

이 오류의 원인이되는 파일을 보려면 터미널에서 다음 명령을 실행하십시오. xattr -lr <path_to_app_bundle>

xattr 명령을 사용하여 앱 번들에서 모든 확장 된 속성을 제거 할 수도 있습니다. xattr -cr <path_to_app_bundle>

<path_to_app_bundle>Xcode 프로젝트의 디렉토리로 바꿀 수 있습니다. 예를 들어~/Development/MyProject


거의 모든 다른 제안 된 솔루션을 작업 한 후에 xattr -lr <path_to_app_bundle>는 올바른 파일로 연결됩니다. Finder-Tags가있는 대행사에서 Localizable.strings를 가져 와서 Codesign이 실패했습니다.
JanR

나는 이것에 2 일을 낭비 했고이 솔루션은 마침내 나를 위해 일했다!
bhakti123

16

파일 지우기에 관한 모든 것은 훌륭하지만 여러 프로젝트에는 지루합니다.

그래픽 응용 프로그램 (이전 버전의 Photoshop과 같은)은 외부 파일에 구식으로 추가 정보 (이제 메타 데이터라고합니다.)를 작성하거나 이전 OSX에서 온 파일입니다.

예를 들어 폴더 압축을 풀 때 "com.apple.ResourceFork"및 "com.apple.FinderInfo"

Xcode 8은 빌드에 추가를 거부합니다 ( "git --add."를 사용하여 프로젝트에 추가했을 때). 터미널에서 재귀 적으로 찾아서 삭제할 수는 있지만 지루할 수 있습니다.

작은 무료 유틸리티를 작성하여 삭제했습니다. 도움이 되길 바랍니다 ..

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


그것은 나를 위해 일했다. 유용한 앱에 감사드립니다!
Blue

이 응용 프로그램은 "아마도 많은 수의 프로젝트 파일로 인해"여러 번 충돌했지만 파일을 정리하고 프로젝트가 마침내 작동했지만이 솔루션은 나와 함께 일한 유일한 솔루션이었습니다. 감사!
XIII

앱을 다운로드하고 나를 위해 모든 것을 정리했습니다! 감사합니다!
Bobby

+1하십시오. 감사합니다
Megaetron

여유 시간이 생기면 큰 프로젝트의 충돌 문제를 해결하겠습니다!
ingconti

11

간단한 해결책 :-

내가 한 방법 [나를 위해 일]

1 단계 :-이 폴더로 이동-파인더에서 옵션 이동-> 폴더로 이동을 누릅니다

다음 예제와 같이 프로젝트 경로를 입력하십시오 .- Library / Developer / Xcode / DerivedData / yourprojectname / Build / Products / Debug-iphoneos

이제 사용 가능한 파일 목록이있는 팝업 창이 나타납니다. 여기에는 yourApp.app 파일이 있습니다. [2 단계를 기다리기만하면됩니다].

2 단계 :-새 터미널을 열고 cd를 입력 한 다음 1 단계 yourApp.app을 터미널로 드래그하면 응용 프로그램의 경로가 표시됩니다. 이제 Enter 버튼을 누릅니다.

3 단계 :-이제이 명령을 입력하십시오 **

xattr -rc

"."(Dot)를 놓치지 마세요 Enter 버튼을 누릅니다.

이제 Xcode 프로젝트로 이동하여 정리하고 다시 실행하십시오.


10

----- bash 지식이나 다른 것이 없기 때문에 위의 솔루션을 적용 할 수없는 경우.

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

임시 솔루션 :

프로젝트가있는 폴더에 대해 iCloud Drive를 비활성화하십시오.


iCloud Drive에서 데스크탑으로 이동하여 제대로 작동합니다. 감사합니다
drasick

이것은 나를위한 해결책의 일부였습니다. 데스크탑에 프로젝트가 있었는데 Sierra에서 iCloud로 백업되었습니다. 여전히 xattr -rc를 입력해야했습니다. 터미널에서 프로젝트를 데스크탑 밖으로 이동 한 후 문제가되는 파일을 삭제하십시오. 이 단계에서 일을 다른 솔루션 없음
않았습니다. Roger Pingleton

이것은 나에게도 문제였습니다. iCloudDrive로 인해이 성가신 오류가 발생했습니다. Apple에 버그를보고했습니다.-> 31740606
LukeSideWalker

이것은 본질적으로 내 문제이기도하지만 프로젝트 폴더에서 iCloud를 비활성화하거나 프로젝트 폴더 또는 이와 유사한 것을 이동할 필요가 없습니다. 방금 Xcode Prefs-> Locations-> Advanced로 이동하여 Build Location에 대해 "Unique"옵션을 선택했습니다. iCloud 드라이브에있는 xcode 프로젝트 파일의 하위 폴더에서 빌드 위치를 사용하고있었습니다. 나는 기본값이 Unique라고 생각하며, 왜 그것을 변경했는지, 왜 빌드 후 실행 파일을 쉽게 찾을 수 있는지 모르겠습니다.
daver

10

macOS 대상에 추가 된 PNG로 생성 된 모든 새 Photoshop에서 확장 된 속성을 제거하지 않고 앱을 개발하려고하는 사용자 (나 같은)의 경우 사용자 정의 빌드 설정을 추가하여 코드 서명을 일시적으로 비활성화 할 수 있습니다.

CODE_SIGNING_ALLOWED = No 

분명히 앱을 배포하는 사람은 결국 문제를 해결해야하지만 시에라에서 코드 서명을 생략하는 것이 간단하지 않은 경우와 같은 경우 개발이 가능합니다 (이전 OS X / Xcode에서는 더 쉬웠습니다).

RGriffith의 의견에 따르면, 사용자 지정 빌드 설정이 어떻게 추가되는지 확실하지 않은 사람들을위한 몇 가지 스크린 샷이 있습니다.

여기에 이미지 설명을 입력하십시오

여기에 이미지 설명을 입력하십시오


이것을 어디에 추가합니까?
RGriffiths

4

아래 설명과 같이 앱 번들 폴더를 삭제하고 앱을 다시 빌드해야합니다.

내 앱은 augment라고합니다.

터미널 창에서 앱 폴더로 이동하십시오. 예 : cd / Users / username / Library / Developer / Xcode / DerivedData /

xattr -cr augment-flmbiciuyuwaomgdvhulunibwrms와 같은 응용 프로그램 폴더의 터미널 창 실행 명령에서

청소> 빌드> 실행.

Mac Appstore에는 "CleanDetritus"라는 무료 앱도 있습니다.


1
Flutter를 사용하여 iOS 앱을 생성하고 Clean> Build> Run from Xcode를 실행하면 flutter 콘솔의 "리소스 포크, 파인더 정보 또는 이와 유사한 쓰레기는 허용되지 않습니다"오류가 해결되었습니다.
Juan Valera

고마워요! 나를위한 해결책은 "xattr -rc"를 실행하고있었습니다. 대신 프로젝트 폴더에서 파생 데이터 프로젝트 폴더에.
BIOS-K

2

이 문제는 어제 나에게 왔습니다.

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

(What's right)이런 식으로 이미지를 업데이트하지 마십시오. 그 후 Xcode에서 이미지를 'xcassets'로 드래그했습니다. 더 이상 오류가 나타나지 않습니다.


2

파생 된 데이터에 문제가 있습니다. 파생 된 데이터를 정리 한 다음 프로젝트를 정리하고 빌드해야합니다. 링크를 확인 하십시오.


1

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

@ rich-able 덕분에 "Run Script"를 발견했습니다. 그런 다음 "xattr -cr"명령을 넣습니다. 현장에서.

XCODE 솔루션


1

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

$ git stash
$ git stash pop

Git은 파일 메타 데이터를 저장하지 않습니다. 위의 내용은 모두 제거합니다.


Xcode 9 에서이 문제가 발생했습니다. 위의 솔루션으로 문제가 해결되었습니다. git source control하에 프로젝트가 있어야하며 아직 파일을 커밋하지 않았습니다.
Anessence

0

내 문제는 약 1 년 전에 cordova를 사용하여 앱을 빌드했지만 새로운 버전의 xcode와 호환되지 않으므로 간단하게 사용 cordova build ios하고 다시 작동했습니다.


0

가장 좋은 해결책 중 하나는 터미널 유형으로 이동입니다.

xattr -cr "Full path of your project"

Xcode 프로젝트-> 정보 입수-> 복사 경로를 마우스 오른쪽 버튼으로 클릭하고로 대체하십시오. 그런 다음 아래 명령을 입력하십시오

xattr -cr "Full path of your project"

청소하고 완성했습니다.


이 벽돌 내 프로젝트, 그것을 사용하지 마십시오
Naveed Ahmad

이것은 내 계획을 약화시켰다. 이 문제를 수정하여 실수로 .scodeproj 파일을 제거한 다음 새 프로젝트를 만들고 이전 파일을 전송했습니다
Naveed Ahmad

그런 다음 실수로 인해 발생했습니다. 나는 abode 코드를 시도했지만 아무런 문제가 없습니다.
Rajesh Maurya

내 경우에는 위의 명령을 사용한 후에 Bro가 문제를 만들었습니다. 그런 다음 다른 문제가 발생했습니다.
Naveed Ahmad

0

xattr 명령이 트릭이 아닌 경우 이것은 XCode 9 버그 때문일 수 있습니다. Xcode에서 영향을받는 파일이 포함 된 리소스 폴더 (내 경우에는 .xcassets)를 제거하고 다시 추가해 봅시다. (xattr -lr 명령을 통해 이전에 영향을받은 파일을 이해해야합니다)



0

나는 또한 같은 문제에 직면하고 있습니다. 맥북을 다시 시작하면 해결되었습니다.


0

color tag아래 폴더에 추가하면DerivedData 하면 장치에서 디버그 할 때 위의 오류가 발생 .

color Tag이 오류를 해결 하십시오 .

여기에 이미지 설명을 입력하십시오


0

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

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


0

나에게 무슨 일이 있었는지 모르겠지만 시뮬레이터에서 플러터 앱을 실행할 때 오류가 발생했습니다. 나는 flutter clean명령을 사용 하고 파생 된 데이터를 제거한 다음 모든 것이 잘되었습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.