Nice programing

Xcode가 일치하는 서명 자산을 찾거나 생성하려고했으나 실패했습니다.

nicepro 2020. 11. 28. 12:27
반응형

Xcode가 일치하는 서명 자산을 찾거나 생성하려고했으나 실패했습니다.


그래서 Mavericks에서 Xcode 6.0.1과 함께 기존 프로비저닝 프로파일 (이전에 작동 한)을 사용하여 임시 빌드를 만들려고하지만이 아카이브를 내보내려고하면 다음 오류가 계속 발생합니다.

내 인증서 및 프로비저닝 프로필을 다시 만들어야합니까? 아니면 더 나은 솔루션이 있습니까? 감사!


저는 또한 '팀원'역할로서이 문제에 직면하고 있습니다. '이 작업을 수행 할 수 없습니다'경고는 XCode가 여기에 정의 된 역할을보다 엄격하게 시행하고 있다고 믿게합니다 : https://developer.apple.com/programs/roles/

서명 자산 (인증서 및 프로비저닝 프로파일)에 대한 액세스 권한이 있지만 XCode에서는이를 지정할 수 없습니다. 역할을 Team Admin으로 업그레이드 해보십시오.

업데이트 된 2014 년 9 월 29 일 : 광범위한 조사 끝에 다음을 사용하여 '팀 구성원'역할로도 명령 줄에서 xcodebuild를 사용하여 .ipa를 생성 할 수 있음을 발견했습니다.

xcodebuild -exportArchive -archivePath $projectname.xcarchive -exportPath $projectname -exportFormat ipa -exportProvisioningProfile "Provisioning Profile Name"

크레딧 1

참고 : 링크 된 문서에서 지적했듯이 "프로비저닝 프로필 이름"은 인증서의 이름 필드에 지정된 이름입니다 (developer.apple.com에서 볼 수 있음).

프로젝트 빌드 스크립트에 호출을 포함하여 xcode에서 프로세스를 자동화 할 수 있습니다.


콘솔을 열고 Xcode 프로젝트 폴더로 이동 한 후 다음 명령을 입력하십시오.

프로젝트 정리

xcodebuild clean -project YourProjectName.xcodeproj -configuration Release -alltargets

앱 빌드 및 보관

xcodebuild archive -project YourProjectName.xcodeproj -scheme YourSchemaName -archivePath YourProjectName.xcarchive

YourSchemaName은 Xcode > Product > Scheme > Edit Scheme ... 에서 찾을 수 있습니다 .

마지막으로 앱 .ipa 파일을 만듭니다.

xcodebuild -exportArchive -archivePath YourProjectName.xcarchive -exportPath YourProjectName -exportFormat ipa -exportProvisioningProfile 'Your Provisioning Profile Name'

프로비저닝 프로파일 이름 을 찾으려면 Apple Developer Member Center에 로그인하고 인증서, 식별자 및 프로파일 로 이동 한 다음 iOS 앱용 프로비저닝 프로파일클릭하십시오 . 프로비저닝 프로필 이름을 찾을 수 있습니다.

작동하지 않으면 작은 따옴표를 큰 따옴표 ( '를 ")로 바꾸십시오.

Xcode 프로젝트 폴더에서 .ipa 파일을 찾을 수 있습니다.

그런 다음 iTunes에서 .ipa 파일을 열고 iOS 장치에 설치할 수 있습니다.

도움이 되었기를 바랍니다.


무슨 일이 일어나고 있는지 : Xcode는 유효한 인증서로 빌드에 서명해야합니다. 운이없는 사람을 찾으려고합니다. 왜? Xcode6 이전에는 개발자 인증서로 AdHoc 빌드에 서명 할 수있었습니다. 개인 키가 있기 때문에 가능했습니다. 하지만 이제 프로덕션 인증서로 Ad Hoc 빌드에 서명해야합니다 . 그리고 당신은 그것에 대한 개인 키가 없습니다.

따라서 Xcode6 ( https://stackoverflow.com/a/26061067/1918302 ) 에서 빌드하는 데 필요한 단계 :

  1. 프로덕션 인증서에 대한 개인 키를 얻으십시오. (당신은 그것을 가지고있는 Mac 키 체인에서 그것을 내보내고 당신의 키 체인으로 가져와야합니다. 또는 현재를 취소하고 새로운 프로덕션 인증서를 생성합니다. 생성하는 동안 당신은 하나를 얻을 것입니다. 위 링크에서 인용하면 :

    주의 : 엔터프라이즈 배포 인증서를 취소하면 해당 인증서로 서명 및 배포 된 모든 앱이 무효화됩니다 ( 공식 정보 )).

  2. 특별한 XC Ad Hoc : 배포 프로비저닝 프로파일을 만듭니다 (developer.apple.com에서 팀에 관리자 역할이있는 경우-Xcode가이 작업을 수행합니다).

  3. 프로젝트의 대상-> 빌드 설정-> 코드 서명에서 프로비저닝 프로파일을 2 단계에서 생성 된 것으로 설정합니다.

끝난!

또는 위의 작업을 수행 할 수없는 경우 명령 줄 도구 ( https://stackoverflow.com/a/25979784/1918302)를 사용하여 빌드를 만들 수 있습니다 . 그러나 이것은 나에게 보안 구멍으로 보이며 이것이 오랫동안 작동하지 않을 것이라고 생각합니다.


관리자 중 한 명이 개발 센터에서 "XC Ad Hoc : 배포"프로필을 다운로드 한 다음 빌드하려는 "팀 구성원"에게 전송하고 수동으로 가져 오도록하여이 문제를 해결할 수있었습니다. . 그는 이미 인증서를 가지고 있었기 때문에 빌드를 수행하고이 오류가 발생하지 않도록하는 데 필요한 전부였습니다. 여기에있는 기존 답변은 정확하지만 이것은 우리 중 많은 사람들이 퍼즐의 마지막 조각을 얻을 수있는 저 마찰 방법입니다.

요약하면이 프로필 키 체인에 개인 키가있는 인증서가 필요합니다 .


저에게 그 원인은 이 답변에 따라 프로젝트의 프로비저닝 프로필 속성을 설정하지 않았기 때문입니다 .


제 경우 문제는 앱 ID였습니다. 물론 앱은 회원 센터 계정에 존재했습니다. 문제는 기능 창에있었습니다. 일부 기능은 문제를 해결하지 못했지만 빌드는 성공했습니다. 이로 인해 회원 센터의 내 앱 ID와 Xcode의 기능 설정이 다른 상황이 발생합니다.

이 불협화음을 제거하면 내 문제가 해결되었습니다. 비슷한 문제가 있으면 두 번 확인하십시오.


Xcode-> preferences-> account에서 계정을 정의해야합니다. IOS 개발자 계정에 액세스 할 수없는 appleId를 정의한 것 같습니다.

https://developer.apple.com/devcenter/ios/index.action 에서 해당 사용자와 함께 서명하고 해당 사용자 가 IOS 개발자 프로그램에서 허용되는지 확인합니다.

이것은 iTunes 연결로 서명 한 경우 발생할 수 있습니다. 그들은 다른 계정입니다.

이게 도움이 되길 바란다!


분산 된 계정이 팀과 일치하지 않습니다.

xcodeproj-> Identity-> Team-> Add an Account에서 계정을 정의해야합니다.


또한 내가 구축하고 있던 컴퓨터의 개발자 인증서가 만료 되었기 때문에이 오류가 발생했습니다.

인증서를 갱신 한 후에도 App Store 릴리스 용 빌드를 내보낼 수 없습니다. 수락 된 답변의 지침을 따르고 해당 개발자 계정을 관리자로 업그레이드 한 후에도.

It turns out, that because the Archive was created while that Developer Certificate was expired, that Developer was unable to codesign using the Distribution Profile. I had to recreate the Archive, after renewing the Developer Certificate, for that machine to be allowed to use the Distribution Certificate (already installed and previously working) to be allowed to codesign the new archive and upload to app store.

Sharing in case anyone else hits this edge case.

참고URL : https://stackoverflow.com/questions/25901269/xcode-attempted-to-locate-or-generate-matching-signing-assets-and-failed-to-do-s

반응형