Xcode 11 IPA 내보내기 오류 'my.bundle.id'에 대한 프로파일이 없습니다.


12

Xcode를 사용하여 Apple에 제출할 .ipa 내보내기 파일을 빌드하고 있습니다. Xcode 10에서 Xcode 11로 업그레이드하기 전에 성공적으로 수행했습니다.

우리가 경험 한 일부 오류는 이전에 베타 버전이 있었고 이전 버전의 Xcode 베타가 문제를 일으킬 수 있기 때문에 Xcode를 완전히 제거해야한다고 제안했습니다. Xcode Beta 또는 해당 설정이 컴퓨터에 저장되지 않도록 시스템을 재설정하여 전체 Mac을 깨끗하게 정리하기로 결정했습니다. 이제 완전히 새로운 Mac OS 설치입니다. Xcode를 다시 설치했습니다.

이전 인증서를 키 체인으로 가져 왔는데 유효한 인증서 만 나열되어 있는지 확인했습니다.

두 가지 명령을 실행합니다. 먼저 아카이브를 만듭니다. 그런 다음 아카이브를 사용하여 ipa를 내 보냅니다.

xcodebuild -allowProvisioningUpdates -workspace my_app.xcworkspace -scheme XXXX -archivePath build-dev/XXXX.xcarchive archive
xcodebuild -exportArchive -archivePath build-dev/XXXX.xcarchive -exportOptionsPlist release.plist -exportPath build-dev

스키마를 XXXX로 바꾸었고 예제의 번들 ID가 'my.bundle.id'로 바뀌 었습니다.

이 프로세스는 .ipa 개발을 위해 작동합니다. 그러나 Testflight 또는 Production .ipa를 만들 때 오류가 발생합니다.

첫 번째 명령은 오류없이 실행되며 "build-dev / XXX.archive"에 아카이브 파일이 생성되었습니다. 두 번째 명령은 오류를 생성합니다.

2019-09-30 12:11:46.444 xcodebuild[10674:326155] [MT] IDEDistribution: -[IDEDistributionLogging _createLoggingBundleAtPath:]: Created bundle at path '/var/folders/10/8g5xrhr56wz6sgttzh0_s8fr0000gn/T/XXXX_2019-09-30_12-11-46.444.xcdistributionlogs'.

2019-09-30 12:11:56.534 xcodebuild[10674:326208]  DVTAssertions: Warning in /Library/Caches/com.apple.xbs/Sources/IDEFrameworks/IDEFrameworks-14936/IDEFoundation/Provisioning/Logging/IDEProvisioningLedger.m:172

Details:  Unable to close provisioning ledger entry because not all of its subentries are closed
Object:   <IDEProvisioningLedgerEntry: 0x7ff7568b7a00>
Method:   -closeWithError:
Thread:   <NSThread: 0x7ff750b16af0>{number = 14, name = (null)}
Please file a bug at https://feedbackassistant.apple.com with this warning message and any useful information you can provide.
error: exportArchive: Create certificate

Error Domain=IDEProvisioningErrorDomain Code=19 "Create certificate" UserInfo={IDEDistributionIssueSeverity=3, IDEProvisioningError_UserInfoKey_IDEProvisioningUserAction=<IDEProvisioningCreateTeamOwnedCertificateUserAction: 0x7ff756acf0c0>, NSLocalizedRecoverySuggestion=Create a new Apple Distribution certificate for your team., NSLocalizedDescription=Create certificate}

error: exportArchive: No profiles for 'my.bundle.id' were found

Error Domain=IDEProfileLocatorErrorDomain Code=1 "No profiles for 'my.bundle.id' were found" UserInfo={IDEDistributionIssueSeverity=3, NSLocalizedDescription=No profiles for 'my.bundle.id' were found, NSLocalizedRecoverySuggestion=Xcode couldn't find any iOS App Store provisioning profiles matching 'my.bundle.id'.}

이것은 내 release.plist 파일입니다.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>method</key>
    <string>app-store</string>
    <key>teamID</key>
    <string>MY-TEAM-ID</string>
    <key>compileBitcode</key>
    <false/>
</dict>
</plist>

Xcode 내에서 성공적으로 빌드 할 수 있습니다. 내가 발행 한 것은 명령 줄 내보내기입니다.

번들 ID가 developer.apple.com 계정에 있습니다. Xcode 환경 설정에 유효한 iOS 개발 및 iOS Distrobution 인증서가 있습니다.

왜 이러한 오류가 발생하는지 확실하지 않습니다.

답변:


15

나도이 문제가 있었다. 이 문제를 해결하기 위해해야 ​​할 일은 아카이브 파일을 만들고 GUI를 사용하여 xCode에서 TestFlight 용 IPA 파일을 내보내는 것이 었습니다. 이 과정에서 xCode는 누락 된 인증서를 만들 수있었습니다. 이제 명령 행 xCode 명령을 성공적으로 실행할 수 있습니다.

GUI를 사용하여 필요한 인증서를 만드는 단계 :

  • Xcode 열기
  • 제품 선택
  • 보관을 선택합니다 (보관이 회색 인 경우 먼저 일반 iOS 장치 용으로 빌드하십시오).
  • 앱 배포를 선택하십시오.
  • 단일 선택 단추 목록에서 App Store Connect를 선택한 후 다음을 클릭하십시오.
  • 라디오 버튼 목록에서 내보내기를 선택한 후 다음을 클릭하십시오.
  • Apple 배포 인증서 생성을 확인하십시오.
  • 인증서를 백업으로 내보내고 동료 개발자와 공유하십시오.

아래는 GUI 프로세스에서 클릭해야하는 "Apple 배포 인증서 생성"창의 스크린 샷입니다.

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


1
문제를 해결해 주셔서 감사합니다. 우리가 구축하는 각 회사 마다이 작업을 수행해야했습니다. 방금 언급 한대로 GUI에서 "인증서 생성"을 확인했으며 명령 행 도구가 작동합니다. -allowProvisioningUpdates 플래그를 추가하면 프로파일, 인증서 등이 자동으로 업데이트되지 않으므로 Apple의 버그처럼 보입니다.
Daryl

기본 앱을 TestFilght에 업로드 할 때이 문제가 발생했습니다. 그러나 .p12를 이미 설치했는데 왜이 화면이 표시됩니까? 누구든지 도울 수 있습니까?
Akshay Jadhav
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.