programing

앱을 성공적으로 제출한 후 "기호 파일이 너무 많습니다"

i4 2023. 5. 16. 22:10
반응형

앱을 성공적으로 제출한 후 "기호 파일이 너무 많습니다"

저는 오늘 Xcode 6 GM을 다운받아서 Swift 앱 2개를 앱스토어에 제출했습니다.두 제품 모두 업로드 전 검증 및 기타 모든 항목을 통과하여 성공적으로 제출되었습니다.하지만 애플로부터 두 개의 이메일을 받았습니다.각각의 프로그램에 하나씩 그리고 그들은 둘 다 다음과 같이 말했습니다.

개발자님께,

최근 "xxxxxxxx"(내 앱 이름이 제거됨)에 대한 귀하의 배달에서 하나 이상의 문제를 발견했습니다.성공적으로 배달되었지만 다음 배달에서 다음 문제를 해결할 수 있습니다.

너무 많은 기호 파일 - 이 기호는 이진에 해당하는 슬라이스가 없습니다 [1431D977-72BC-308F-AB71-71529F25400B. 기호, 158C72A7-98AC-3F07-B2BE-88427591B413.기호, 44973EAC-563E-340C-B549-55A5014A68BA. 기호, 678BF06F-0C3D-3A09-BFBF-699C7079FECD. 기호, 90907DDB-0400-38ED-BB5F-0C12333C0624.기호, 93B79949-5757-374A-97B9-825AE1A61B7D.기호, ABA05220-4FB0-397F-ABB-08774A82F4CA. 기호, AD70F02A-4422-32B8-8C40-CF9B45A2CC6. 기호, B0CC9F7D-C542-3E18-A518-B28B7ECABE80.symbols, BF6A4C3B-6FA5-3C51-8404-19C2F132458D.symbols, C9D6E078-8E2A-39DE-476916A69CEE.symbols, CF5320DF-AB3134538-567DOLS, D549DOLS.SYOLS.AA3-8FB0-3712-B0DE-7F4144AF8F4B.기호, D813B314-AD37-31D4-B675-442052994495.기호, DF42A13F-08D8-3E71-B221-FC357E0B60F5.기호, F5F636C2-F0E0-3CA7C765C]C49COLS.기호

문제를 해결한 후에는 Xcode 또는 Application Loader를 사용하여 새 이진 파일을 iTunes Connect에 업로드할 수 있습니다.

안부 전해요,

앱스토어 팀

그건 저나 제 앱과는 아무 상관이 없는 것 같아요스위프트 앱을 제출한 첫날의 장난일 뿐입니까?두 앱 모두 여전히 "승인 대기" 모드입니다.저는 확실히 그들이 말한 것을 사라지게 하기 위해 제가 바꿀 수 있는 어떤 것도 생각할 수 없습니다!아직 스위프트 앱을 제출하고 답변을 받은 사람이 있습니까?그냥 무시하고 무슨 일이 일어나는지 기다려야 할까요?

이 문제는 라이브러리의 디버그 정보를 프로젝트 아카이브에 포함하지만 바이너리는 포함하지 않는 경우에 발생합니다.

  1. Xcode에서 Organizer 창 열기
  2. 이 문제가 있는 보관 파일을 마우스 오른쪽 단추로 클릭하고 "파인더에 표시"를 선택합니다.
  3. 보관 파일을 마우스 오른쪽 단추로 클릭하고 "패키지 내용 표시"를 선택합니다.
  4. "dSYMS" 폴더에는 여러 개의 파일이 표시됩니다.다음 파일에서 콘솔 명령을 실행하면 UUID 문자열 목록이 표시됩니다.

    dwarfdump -u MyFile.dSYM
    

Apple의 이메일에서 일치하는 UUID를 찾을 수 있을 것이라고 확신합니다.

에 이경를방면보파다항음포합야니다해함목만일에만 .dSYM라이브러리가 아닌 응용 프로그램의 파일입니다.하여 "" " " " " 를 합니다.dSYM파일.에서 " 형식하여 만 하면 . 구성에서 "디버그 정보 형식"을 검색하고 변경하기만 하면 됩니다.DWARF with dSYM FileDWARF 직오직.

예를 들어, 아래 스크린샷에서 Stripe iOS 프레임워크를 찾을 수 있습니다.

Xcode 프로젝트 설정 스크린샷

코코아 포드를 사용하는 동안 이 문제가 발생하면 다음을 포드 파일에 추가합니다.

post_install do |installer|
    installer.pods_project.targets.each do |target|
        target.build_configurations.each do |config|
            config.build_settings['DEBUG_INFORMATION_FORMAT'] = 'dwarf'
        end
    end
end

기본 앱 대상이 아닌 모든 포드 대상에 대해서만 디버그 정보 형식을 DWARF로 설정합니다.

코코아 포드를 사용하고 있고 앱이 arm64만 사용하도록 설정되어 있는 경우(즉, 프로젝트의 info.plist에 arm64만 있음)

<key>UIRequiredDeviceCapabilities</key>
<array>
    <string>arm64</string>
</array>

그런 다음 Pod 파일에 다음 스크립트를 추가하여 이 문제를 해결할 수 있습니다.

post_install do |installer|
  installer.pods_project.targets.each do |target|
    target.build_configurations.each do |config|
      config.build_settings['ENABLE_BITCODE'] = 'NO'
      config.build_settings['ARCHS'] = 'arm64'
    end
  end
end

그리고.

모든 프로젝트의 대상(포드의 대상 제외)을 암64로만 설정

Xcode 프로젝트 설정

코코아 포드 Github 이슈 참조

이 문제는 프로젝트에 유효한 아키텍처 암64가 있고 코코아 포드 대상에는 유효한 아키텍처 암64, 암v7암v7이 있기 때문입니다.

유효한 아키텍처를 가진 대상을 확인하려면 다음 단계를 수행합니다.

  1. Xcode에서 -> Window -> Organizer에서
  2. 보관 파일을 선택하고 파인더에 표시
  3. .x 아카이브 파일에서 패키지 내용 표시
  4. 터미널을 열고 dSYMS 폴더의 경로를 지정합니다.

  5. 합니다.dwarfdump --uuid *유효한 아키텍처를 가진 UUID 목록이 표시됩니다.

UUID가 Apple의 경고 이메일과 일치합니다.

주요 프로젝트와 코코아 포드 대상은 유효한 아키텍처가 동일하다고 가정합니다.이렇게 함으로써 문제를 해결할 수 있습니다.

비트 코드를 활성화하여 작동했습니다. 이전에는 꺼져 있었습니다.

비트 코드 사용 - 예

여기에 이미지 설명 입력

위의 내용은 문제 해결에 도움이 되었지만 해결할 수 없었습니다.우리는 iOS 12에서 프로젝트를 했지만 포드 10은 많은 armv7 파일로 이어졌습니다.포드를 iOS 12로 업데이트하는 것은 즉시 해결되었습니다.

모든 대상에 대해 동일한 "일반" => "배포 정보" => "배포 대상"을 설정하여 동일한 문제를 해결했습니다.

Xcode에서 "복사 중 디버그 기호 제거"(COPY_PACE_STRIP)에 대한 빌드 설정을 확인합니다.활성화하면 디버그 기호가 .app에서 생략되고 .d에 배치됩니다.SYM 파일.그렇지 않으면 .app에 이러한 기호가 포함되어 있습니다.기본적으로 디버그 기호는 난독화의 이유로 릴리스 빌드에서 제거됩니다.릴리스 구성에 대해 이 설정을 변경하면 안 됩니다.)

프로젝트 빌드 설정에서 이 옵션을 선택해야 합니다.

https://possiblemobile.com/2015/03/symbolicating-your-ios-crash-reports/

나에게 문제는 나의 대사였습니다.build.xcconfig 제가 파니다를 제거해야 . 제거해야 했습니다.

IPHONEOS_DEPLOYMENT_TARGET = 11.0

이는 암7이 아닌 암64만을 위해 프로젝트를 구축하도록 설정하는 것이었습니다.의 .@miOS포드 프로젝트가 둘 다를 위해 만들어지고 있다는 것을 알 수 있었습니다.

저에게 모든 것은 매우 간단했습니다.저도 같은 문제가 있어서 일주일 동안 무엇을 해야 할지 몰랐습니다.

보관된 응용프로그램을 제출하면 배포용 인증서가 작은 팝업 창에 표시됩니다.확인란 뒤에 확인란이 있으며 이 확인란의 선택을 취소해야 합니다.그런 다음 제출하고 기호 파일에 대한 이메일을 받게 됩니다.하지만 그것은 문제가 아닙니다.그것은 단지 경고일 뿐, 오류가 아닙니다!해당 확인란의 선택을 취소하면 앱이 올바르게 전송됩니다.도움이 되길 바랍니다.

확인란 및 팝업 스크린샷:

확인란 및 팝업 스크린샷

언급URL : https://stackoverflow.com/questions/25755240/too-many-symbol-files-after-successfully-submitting-my-apps

반응형