ProgramingTip

Xcode- 오류 ITMS-90635- 아름다운 Mach-O-App Store에 출시

bestdevel 2020. 10. 29. 08:23
반응형

Xcode- 오류 ITMS-90635- 아름다운 Mach-O-App Store에 출시


앱 스토어에 앱을 출시 할 때이 오류가 발생했습니다.

여기에 이미지 설명 입력

모든에 대해 ENABLE_BITCODE를 설정해야 함을 의미합니까? 나는 그것을 시도했지만 비트 코드 (또는 이와 유사한 것)와 없음


오늘 아침 일찍 같은 문제가 발생했습니다. 모든 대답은 "플랫폼의 모든 대상이 ENABLE_BITCODE 빌드 설정에 대해 일관된 값을 가지고 있는지 확인합니다."라는 오류에 있습니다.

ENABLE_BITCODE가 YES로 여러 포드를 사용하여 대상 (ENABLE_BITCODE가 NO로 설정 됨)이 있습니다. 그래서 제가해야 할 일은 프로젝트 대상에서 ENABLE_BITCODE를 YES로 설정하는 것뿐입니다. 하지만 선택의 여지가 생각합니다. 사용중인 모든 라이브러리에서 ENABLE_BITCODE를 사용할 수 없습니다.


가장 일반적인 일반적인 수정 :

Xcode를 통해 앱을 출시 할 때 "Include Bitcode"를 선택 취소 할 수 있습니다. 상자를 선택 취소

를 사용 하는 경우 값이 false 설정된 exportOptionsPlistxcodebuild 전달을 사용할 수 있습니다 . 제 경우에는 ( 를) 사용하여 앱을 빌드 하고 많은 수있는 기능이 없기 때문에 모든 프레임 워크에서 비트 코드를 제거해야합니다.uploadBitcodexctoolexportOptionsPlist


누군가 cocoapods를 사용하는 중이고 프레임 워크에 대한 비트 코드를 사용하려는 경우 podfile에 다음을 추가하면됩니다.

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

https://stackoverflow.com/a/32685434/1417922를 통해


이 문제에 대해 좀 더 설명을 추가 비용 :

적용하기 적용하기 기본 바이너리에 비트 코드가 활성화되어 비트 코드가 활성화 된 정적 라이브러리 또는 프레임 워크를 포함하는 경우 유효성 검사에 실패합니다. 다른 방식으로도 진행됩니다. 기본 바이너리에 비트 코드가 활성화되어 비트 코드가 포함 된 라이브러리 / 프레임 워크를 포함하면 유효성 검사에 실패합니다.

저는 GoogleMaps와 Amazon의 몇 가지 가지가있어 비트 코드를 활성화하기 위해 모든 것을 전환하는 것이 사소한 일이 아니 었거나 간단히하고 프로젝트에서 하나의 정적 라이브러리에서 코드를 제거했습니다. 다음 명령을 사용하여 바이너리에서 비트 코드를 제거 할 수 있습니다.

$ xcrun bitcode_strip -r {Framework}.dylib -o tmp.dylib
$ mv tmp.dylib {Framework}.dylib

https://developer.apple.com/library/content/documentation/Xcode/Conceptual/RN-Xcode-Archive/Chapters/xc7_release_notes.html

위의 내용이 문제에 대한 해결책이지만, 기본 바이너리에 비트 코드가 포함되어있는 경우 포함 된 모든 바이너리에도이를 필요로한다는 데 동의하지 않습니다. 비트 코드는 애플이 앱 씬닝에 사용할 수있는 IR 코드 일뿐입니다. 다른 바이너리에서 비트 코드를 제거하지 않는 이유는 무엇입니까 (이전에 수행 한 작업이라고 가정합니다)? 이것은 나에게 의미가 없습니다.

애플 공식 https://forums.developer.apple.com/thread/48071


방금 "비트 코드 포함"을 선택 취소하고 업로드하기 시작했습니다.


카르타고를 위해

  1. 프로젝트 폴더 (Carthage-> Checkouts-> [lib name])에서 라이브러리를 다.
  2. 그런 다음 Xcode에서 각 lib를 여러 다.
  3. 비트 코드 활성화 설정-빌드 설정에서 아니오 여기에 이미지 설명 입력
  4. 수행하십시오.
  5. 카르타고 만들기 carthage build --platform xxx

그런 다음 다음으로 보관하고 Appstore에서 출시 할 수 있습니다.


지난 금요일 (2016 년 6 월 3 일)에서 "Xcode-Error ITMS-90635-Invalid Mach-O in bundle-submiting to App store"라는 오류가 지난 금요일 (2016 년 6 월 3 일)에서 발생했습니다. 아래에 언급 된 2 단계를 사용 하여이 작업을 완료했습니다.

1 단계 :
마크에 포드 파일에 코드를 추가 'ENABLE_BITCODE' = 'NO'포드에

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

2 단계 : 프로젝트의 포드에
표시'ENABLE_BITCODE' = 'NO'

참고 : 마킹 시도 허용 'ENABLE_BITCODE' = 'YES'우리는 깃발이있는 호출하기위한 twillio 프레임 워크를 사용하는 것처럼 너무 내 프로젝트 포드와 더 -read_only_relocs많은 것을하지 않습니다 'ENABLE_BITCODE' = 'YES'. 그렇기 때문에 애플리케이션에서 플랫폼 워크를 사용하지 않는 경우 앱에 좋을 것 -read_only_relocs만들기 'ENABLE_BITCODE' = 'YES'계속할 수 있습니다.


"Enable BitCode"를 Yes로 설정 한 후 빌드 오류가 발생하는 경우. 모든 라이브러리를 업데이트합니다.하지만 가장 쉬운 부분은 Cocoapods를 사용하는 것이어야합니다 모든 pod 프로젝트를 업데이트하십시오 : (하나씩) 또는 모두

그런 다음 아카이브하기 전에 BitCode를 "아니오"로 설정하십시오.

그런 다음 아카이브 >> 업로드 >>이 오류를 전달합니다.

건배.


Xcode 7.3을 사용하는 내 CI에서 "ENABLE_BITCODE = YES"프로젝트와 "ENABLE_BITCODE = YES"종속성에 동일한 문제가 발생했습니다. 솔루션은 Xcode를 사용 가능한 최신 버전 (7.3.1)으로 업데이트했습니다.

참고 URL : https://stackoverflow.com/questions/37613550/xcode-error-itms-90635-invalid-mach-o-in-bundle-submitting-to-app-store

반응형