IT

내 앱을 성공적으로 제출 한 후“너무 많은 심볼 파일”

lottoking 2020. 6. 18. 07:33
반응형

내 앱을 성공적으로 제출 한 후“너무 많은 심볼 파일”


Xcode 6 GM을 다운로드하고 오늘 두 개의 Swift 앱을 앱 스토어에 제출했습니다. 둘 다 모든 사전 업로드 확인과 통과해야하는 다른 모든 항목을 통과하고 성공적으로 제출되었습니다. 그러나 나는 애플로부터 두 개의 이메일을 받았습니다 ... 각 프로그램마다 하나씩 그리고 그들은 모두 이렇게 말했습니다.

개발자 님,

최근에 "xxxxxxxx"(내 앱 이름이 제거됨)에 대한 하나 이상의 문제가 발견되었습니다. 배송이 완료되었지만 다음 배송시 다음 문제를 해결하고자 할 수 있습니다.

심볼 파일이 너무 많음-이 심볼은 바이너리에 해당 슬라이스가 없습니다 [1431D977-72BC-308F-AB71-71529F25400B. 기호, 158C72A7-98AC-3F07-B2BE-88427591B413.symbols, 44973EAC-563E-340C-B549-55A5014A68BA. , 678BF06F-0C3D-3A09-BFBF-699C7079FECD. 기호, 90907DDB-0400-38ED-BB5F-0C12333C0624. 기호, 93B79949-5757-374A-97B9-825AE1A61B7D.symbols, ABA05220FFF -4422-32B8-8C40-CF9B45A2CCC6. 기호, B0CC9F7D-C542-3E18-A518-B28B7ECABE80. 기호, BF6A4C3B-6FA5-3C51-8404-19C2F132458D.symbols, C9D6E3978E -3845-BAD5-F6E51045D396. 기호, D4967AA3-8FB0-3712-B0DE-7F4144AF8F4B. 기호, D813B314-AD37-31D4-B675-442052994495.symbols, DF42A13F-08D8-3E71-B221-CA357 -8F7D-C49A36CD5C65. 기호]

문제를 해결 한 후 Xcode 또는 Application Loader를 사용하여 새로운 바이너리를 iTunes Connect에 업로드 할 수 있습니다.

문안 인사,

App Store 팀

나는 나와 내 앱과는 전혀 관련이 없다고 생각할 것입니다 ... 그것은 Swift 앱 제출 한 날의 기발한 일입니까? 두 앱 모두 여전히 "승인 대기 중"모드에 있습니다. 나는 그들이 말한 것을 없애기 위해 내가 바꿀 수있는 것을 전혀 생각할 수 없다! 다른 사람이 아직 Swift 앱을 제출하고 응답을 얻습니까? 그냥 무시하고 어떻게 될지 기다려야한다고 생각하십니까?


보관함의 프로젝트 정보에 라이브러리의 디버그 정보를 포함하지만 바이너리는 포함하지 않는 경우에 발생합니다. 프로젝트에서 관리자 창을 엽니 다. 오른쪽 버튼 메뉴에서 "파인더에 표시"를 선택하십시오. 다시 한 번 프로젝트의 아카이브 파일을 마우스 오른쪽 버튼으로 클릭하면 패키지의 내용을 볼 수 있습니다. 에서 dSYMs폴더는 파일의 배치를 찾을 수 있습니다. 이 파일에서 콘솔 명령 을 실행 하면 UUID 문자열 목록이 표시됩니다.

dwarfdump -u MyFile.dSYM

애플 이메일에서 UUID를 찾을 수있을 것입니다.

이 경고를 피하려면 dSYM응용 프로그램 파일 만 보관하고 라이브러리는 보관 하지 않아야합니다. 이를 위해 dSYM파일을 생성하지 않도록 라이브러리의 빌드 구성을 변경해야 합니다. 그냥 구성에서 "디버그 정보 형식"에 대한 검색에서 변경 DWARF with dSYM File하는 DWARF경우에만. 스크린 샷에는 Stripe iOS 프레임 워크의 예제가 있습니다.

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


Cocoapods를 사용하는 동안이 문제가 발생하면이를 Podfile에 추가하십시오.

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

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


포드를 사용하고 있고 앱이 arm64 만 설정 한 경우 (프로젝트 info.plist에 arm64 만 있음)

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

이 문제를 해결하기 위해 Podfile에서 다음 스크립트를 시도해 볼 수 있습니다.

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

모든 프로젝트의 대상 (팟의 대상이 아님)을 arm64로만 설정하십시오.

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

ref: https://github.com/CocoaPods/CocoaPods/issues/7111


I have this issue due to the project has valid architecture arm64 where the cocoa pods targets have valid architecture arm64, armv7 and armv7s.

To check which target has which valid architecture follow following steps

  1. In Xcode -> Window -> Organizer
  2. Select the archive and Reveal in Finder
  3. On .xcarchive file, Show package content
  4. Open terminal and give path of dSYMs folder.

  5. Enter command dwarfdump --uuid * and it will show list of UUIDs with valid architectures.

The UUID will match with Apple's warning email

The main project and cocoa pods target suppose to have same valid architecture. By doing this, it will solve the issue.


For me everything was very simple. I had the same problem and didn't know what to do for a week.

After you submit archieved application, you see certificate for distribution in small popup window. There is a checkbox after it, you should uncheck it. After that you will submit it and get e-mail about symbol files. BUT it isn't problem. It's just warning but not error! If you uncheck that checkbox, your app will be sent right. I hope it may help

Screenshot of the checkbox and the popup :


Worked for me by enabling bitcode - it was off before

Enable Bitcode - Yes

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


Had the same problem fixed it by having the same "General" => "Deployment info" => "Deployment target" for all my targets.


In Xcode, look in Build Settings for “Strip Debug Symbols During Copy” (COPY_PHASE_STRIP). When enabled, debug symbols are omitted from your .app and placed into a .dSYM file. Otherwise your .app contains these symbols. (By default, debug symbols are stripped from release builds for reasons of obfuscation. You probably shouldn’t change this setting for the release configuration.)

Make sure you check this option in project Build Settings

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


The problem for me was a line in my build.xcconfig file. I had to remove

IPHONEOS_DEPLOYMENT_TARGET = 11.0

which was setting the project to only build for arm64 (and not arm7). Following the steps by @miOS I could see that the pods project was building for both.

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

반응형