잘못된 스위프트 지원-파일이 일치하지 않습니다.
방금 Swift 2에서 앱을 다시 작성했습니다. 내부 테스트를 위해 (Xcode 7 GM을 통해) iTunesConnect에 앱을 업로드합니다.
잠시 동안 "아름다운 Swift Support"오류가 발생했습니다 ... 이제 조금 다른 질문이 있음 .
Apple의 오류는 이제 다음과 가변적입니다.
잘못된 스위프트 지원
libswiftCoreLocation.dylib, libswiftCoreMedia.dylib, libswiftCoreData.dylib, libswiftAVFoundation.dylib 파일이 일치하지 않습니다.
/Payload/App.app/Frameworks/libswiftCoreLocation.dylib, /Payload/App.app/Frameworks/libswiftCoreMedia.dylib, /Payload/App.app/Frameworks/libswiftCoreData.dylib, /Payload/App.app/Frameworks/libswiftAVFoundation. dylib
파일이 올바른지 (?) 확인하고 앱을 다시 빌드 한 후 다시 출시하십시오.
사후 처리를 적용하지
/Payload/App.app/Frameworks/libswiftCoreLocation.dylib, /Payload/App.app/Frameworks/libswiftCoreMedia.dylib, /Payload/App.app/Frameworks/libswiftCoreData.dylib, /Payload/App.app/Frameworks/libswiftAVFoundation. dylib.
"사후 처리 적용 안 함", "파일이 올바른지 확인하고 앱을 다시 빌드 한 후 다시 설치하십시오"등을 검색하여 설치 오류를 수 없습니다.
"내 파일이 올바른지 확인"하거나 다른 권장 사항이있는 방법을 아는 사람이 있습니까? 감사합니다.
여기에도 같은 문제가 있습니다. 비트 코드와 관련된 개발자 도구의 버그 일 가능성이 있습니다.
방금이 문제를 해결했습니다.
- 새로운 빌드 번호로 앱을 보관하십시오.
- Organizer의“Show in Finder”에서 Finder에서 아카이브 (.xcarchive 파일)를 찾습니다.
- 를 열고 같은 패키지 디렉터리를 찾을 수
Products/Applications/YourApp.ipa/Frameworks/
및SwiftSupport/iphoneos/
- 복사 모든
libswiftXxx.dylib
파일을SwiftSupport/iphoneos/
로Products/Applications/YourApp.ipa/Frameworks/
하고 쓰기 쓰기 - 이제 Organizer에서 App Store 로 업로드
이 프로세스를 통해 빌드를 확장으로 업로드했습니다. 이제 검토 대기 중입니다.
노트 :
CocoaPods를 사용하고 및 ENABLE_BITCODE
옵션은 NO입니다.
편집 : 이 문제를 해결하는 CocoaPods 0.39.0 이 릴리스!
으로 @orkenstein ,이 간단한 설명 에 몇 가지 코드를 주석으로 설명Pod-frameworks.sh
합니다. 여기에 좀 더 자세한 내용이 포함되어 있습니다.
Xcode 프로젝트 디렉토리에서 Pods/Target Support Files/Pods/Pods-frameworks.sh
다음 줄을 주석으로 처리하십시오.
# Embed linked Swift runtime libraries
local basename
basename="$(basename "$1" | sed -E s/\\..+// && exit ${PIPESTATUS[0]})"
local swift_runtime_libs
swift_runtime_libs=$(xcrun otool -LX "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/${basename}.framework/${basename}" | grep --color=never @rpath/libswift | sed -E s/@rpath\\/\(.+dylib\).*/\\1/g | uniq -u && exit ${PIPESTATUS[0]})
for lib in $swift_runtime_libs; do
echo "rsync -auv \"${SWIFT_STDLIB_PATH}/${lib}\" \"${destination}\""
rsync -auv "${SWIFT_STDLIB_PATH}/${lib}" "${destination}"
code_sign_if_enabled "${destination}/${lib}"
done
=>
# Embed linked Swift runtime libraries
# local basename
# basename="$(basename "$1" | sed -E s/\\..+// && exit ${PIPESTATUS[0]})"
# local swift_runtime_libs
# swift_runtime_libs=$(xcrun otool -LX "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/${basename}.framework/${basename}" | grep --color=never @rpath/libswift | sed -E s/@rpath\\/\(.+dylib\).*/\\1/g | uniq -u && exit ${PIPESTATUS[0]})
# for lib in $swift_runtime_libs; do
# echo "rsync -auv \"${SWIFT_STDLIB_PATH}/${lib}\" \"${destination}\""
# rsync -auv "${SWIFT_STDLIB_PATH}/${lib}" "${destination}"
# code_sign_if_enabled "${destination}/${lib}"
# done
저장 Pods-frameworks.sh
하고 잘 가야합니다!
이 문제에 대한 수정 사항이 병합되었으며 최신 CocoaPods 버전에서 사용할 수 있습니다. 0.39.0.beta.5
https://github.com/CocoaPods/CocoaPods/pull/4268
CocoaPods의 최신 버전을 얻으려면 gem install cocoapods --pre
또는 릴리스되지 않은 기능 실행 지침을 따르십시오. http://guides.cocoapods.org/using/unreleased-features
최신 버전의 CocoaPods가 있으면 pod install
다시 실행 하십시오.
나는 fastlane gym 1.9.0을 사용하여 내 앱을 빌드했는데 파일이 일치하지 않아 애플에서 계속 거부 당했지만 XCode 8을 통해 업로드하면 수락되었습니다. ipa의 swift support 폴더와 Frameworks 폴더에서 swift libs를 확인한 결과 swift support 폴더의 libs는 swift 2.3이고 Frameworks 폴더에서는 swift 3이라는 것을 발견했습니다. 그래서 내 체육관 파일에 도구 모음을 추가했습니다. 선택권:
gym(
scheme: "CoCadre",
configuration: "Production Release",
clean: true,
use_legacy_build_api: false,
toolchain: "com.apple.dt.toolchain.Swift_2_3"
)
* 툴체인 옵션을 사용하려면 use_legacy_build_api를 false로 변경해야했습니다.
툴체인 옵션을 사용하려면 use_legacy_build_api를 설정해야합니다 : false https://github.com/fastlane/fastlane/issues/6003#issuecomment-244792185
GitHub 에서 찾을 수있는 좀 덜 복잡한 솔루션이 있습니다 .
나는에서 봐 주위했다 Pods-frameworks.sh을 하고 섹션으로 주석 발견
링크 된 Swift 런타임 라이브러리
포함 이러한 라이브러리를 복사하는 코드 블록 (및 코드 서명)을 주석 처리하면 제출 문제가 해결 된 것 같습니다. 나는 문제를 일으키는 것이 단지 복사인지 또는 코드 서명인지 확인하기 위해 아직 더 깊이 파고 들지 않았습니다. 나는 거기 내 깊이에서 약간 벗어나고 있습니다.
- cocoapods를 최신 버전으로 업데이트
sudo gem install cocoapods
하고 터미널을 입력하십시오 . pod update
프로젝트 디렉토리에서 실행하십시오 .- 모든 포드에 대한 옵션에 대해 비트 코드 활성화 를 아니오 로 설정해야합니다
Debug
. - 결정된
의 다음 코드 때문에 문제가 해결되었습니다 Pods-frameworks.sh
.
# Embed linked Swift runtime libraries
local basename
basename="$(basename "$1" | sed -E s/\\..+// && exit ${PIPESTATUS[0]})"
local swift_runtime_libs
swift_runtime_libs=$(xcrun otool -LX "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/${basename}.framework/${basename}" | grep --color=never @rpath/libswift | sed -E s/@rpath\\/\(.+dylib\).*/\\1/g | uniq -u && exit ${PIPESTATUS[0]})
for lib in $swift_runtime_libs; do
echo "rsync -auv \"${SWIFT_STDLIB_PATH}/${lib}\" \"${destination}\""
rsync -auv "${SWIFT_STDLIB_PATH}/${lib}" "${destination}"
code_sign_if_enabled "${destination}/${lib}"
done
다음으로 변경되었습니다.
# Embed linked Swift runtime libraries. No longer necessary as of Xcode 7.
if [ "${XCODE_VERSION_MAJOR}" -lt 7 ]; then
local swift_runtime_libs
swift_runtime_libs=$(xcrun otool -LX "$binary" | grep --color=never @rpath/libswift | sed -E s/@rpath\\/\(.+dylib\).*/\\1/g | uniq -u && exit ${PIPESTATUS[0]})
for lib in $swift_runtime_libs; do
echo "rsync -auv \"${SWIFT_STDLIB_PATH}/${lib}\" \"${destination}\""
rsync -auv "${SWIFT_STDLIB_PATH}/${lib}" "${destination}"
code_sign_if_enabled "${destination}/${lib}"
done
fi
이에 대한 내 솔루션 :
Cocoapods를 통해 Reveal을 사용하고 있으며 Reveal은 Bitcode를 비활성화해야합니다. 그래서 Debug에만 Reveal (다른 Framwork에서 작동해야 함)을 포함했습니다.
pod 'Reveal-iOS-SDK', :configurations => ['Debug']
내 Reveal은 이제 디버그 용으로 만 구성되었으므로 디버그 용으로 만 비트 코드를 비활성화했습니다.
이 설정으로 모든 것이 해킹없이 잘 작동합니다.
이 오류는 비트 코드를 지원하지 않는 라이브러리 (예 : 현재 안정적인 버전의 New Relic)를 통합 할 때 발생하는 것을 보았습니다. 해결책은 라이브러리를 제거하거나 비트 코드를 비활성화하거나 (잠재적으로 스토어에 제출할 수 없음) 라이브러리 공급 업체의 비트 코드를 지원하는 업데이트 된 바이너리를 기다리는 것입니다.
나에게 오류는 앱 스토어에 스파를 업로드하기 위해 App Store 프로필 대신 Adhoc 프로필로 빌드했다는 것입니다.
참고 URL : https://stackoverflow.com/questions/32526526/invalid-swift-support-files-don-t-match
'IT' 카테고리의 다른 글
~ / .ssh / config 파일에서 SSH 포트 전달? (0) | 2020.07.26 |
---|---|
Intellij IDEA가 javadoc을 자동으로 표시 (0) | 2020.07.26 |
argv 끝에 항상 null이있는 동안 왜 argc가 필요합니까? (0) | 2020.07.26 |
C #에서 재진입 잠금 (0) | 2020.07.26 |
PhotoPicker 검색 오류 : 오류 도메인 = PlugInKit 코드 = 13 (0) | 2020.07.26 |