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
전달을 사용할 수 있습니다 . 제 경우에는 ( 를) 사용하여 앱을 빌드 하고 많은 수있는 기능이 없기 때문에 모든 프레임 워크에서 비트 코드를 제거해야합니다.uploadBitcode
xctool
exportOptionsPlist
누군가 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
위의 내용이 문제에 대한 해결책이지만, 기본 바이너리에 비트 코드가 포함되어있는 경우 포함 된 모든 바이너리에도이를 필요로한다는 데 동의하지 않습니다. 비트 코드는 애플이 앱 씬닝에 사용할 수있는 IR 코드 일뿐입니다. 다른 바이너리에서 비트 코드를 제거하지 않는 이유는 무엇입니까 (이전에 수행 한 작업이라고 가정합니다)? 이것은 나에게 의미가 없습니다.
애플 공식 https://forums.developer.apple.com/thread/48071
방금 "비트 코드 포함"을 선택 취소하고 업로드하기 시작했습니다.
카르타고를 위해
- 프로젝트 폴더 (Carthage-> Checkouts-> [lib name])에서 라이브러리를 다.
- 그런 다음 Xcode에서 각 lib를 여러 다.
- 비트 코드 활성화 설정-빌드 설정에서 아니오
- 수행하십시오.
- 카르타고 만들기
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)으로 업데이트했습니다.
'ProgramingTip' 카테고리의 다른 글
오류 : ': app : transformClassesWithDexForDebug'작업에 대한 실행이 실패했습니다. (0) | 2020.10.29 |
---|---|
풀 요청에서 커밋을 제거하는 방법 (0) | 2020.10.29 |
클래스 메서드를 호출하면 Python에서 TypeError가 발생합니다. (0) | 2020.10.29 |
Resharper 제거 -Visual Studio가 더 이상 올바른 오류 강조 표시를 표시하지 않습니다. (0) | 2020.10.29 |
16 비트, 32 비트 및 64 비트 IEEE-754 시스템에서 어떤 범위의 숫자를 가지고 있습니까? (0) | 2020.10.29 |