Сбой распространения iOS-приложения. Ошибка во вложенном пакете ITMS-90635 содержит arm64 (машинный код), тогда как основной пакет содержит arm64 (битовый код) - PullRequest
0 голосов
/ 25 ноября 2018

Я создал свой собственный толстый фреймворк, который я распространяю по Cocoapods.

Но когда я пытаюсь загрузить приложение с включенным битовым кодом, используя мою инфраструктуру, я получаю отклонение с ошибкой ITMS-90635, см .:

distribution failed app store

Я хочу, чтобы мой фреймворк был совместим с битовым кодом, поэтому я установил ENABLE_BITCODE=YES, BITCODE_GENERATION_MODE=bitcode (также пробовал с OTHER_CFLAGS="-fembed-bitcode" дополнительно), когдапостроение фреймворка.

Вот как я строю свой фреймворк:

[...]

echo "Clean ${TARGET_NAME} for simulator"
xcodebuild -workspace ${WORKSPACE_NAME}.xcworkspace -destination 'platform=iOS Simulator,name=iPhone 6,OS=latest' -scheme ${SCHEME} CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO ENABLE_BITCODE=YES BITCODE_GENERATION_MODE=bitcode clean

echo "Clean ${TARGET_NAME} for generic device"
xcodebuild -workspace ${WORKSPACE_NAME}.xcworkspace -configuration ${CONFIGURATION} -destination generic/platform=iOS -scheme ${SCHEME} CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO ENABLE_BITCODE=YES BITCODE_GENERATION_MODE=bitcode clean

echo "Build ${WORKSPACE_NAME} for simulator"
xcrun xcodebuild -workspace ${WORKSPACE_NAME}.xcworkspace -scheme ${SCHEME} -configuration ${CONFIGURATION} -destination 'platform=iOS Simulator,name=iPhone 6,OS=latest' -sdk iphonesimulator CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO ENABLE_BITCODE=YES BITCODE_GENERATION_MODE=bitcode

echo "Build ${WORKSPACE_NAME} for generic device"
xcrun xcodebuild -workspace ${WORKSPACE_NAME}.xcworkspace -scheme ${SCHEME} -configuration ${CONFIGURATION} -destination generic/platform=iOS -sdk iphoneos CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO ENABLE_BITCODE=YES BITCODE_GENERATION_MODE=bitcode

[...]

lipo -create "${DEVICE_BIN}/${TARGET_NAME}" "${SIMULATOR_BIN}/${TARGET_NAME}" -output  "${UNIVERSAL_PATH}/${TARGET_NAME}.framework/${TARGET_NAME}"

Что я действительно не понимаю, так это то, что в моем фреймворке, похоже, включен биткод, см .:

Bitcode seems to be enabled

while validating

Я что-то не так делаю при построении моего фреймворка?

1 Ответ

0 голосов
/ 29 ноября 2018

Хорошо, я наконец-то нашел, что было не так:)

Как только lipo готово, я использовал для копирования / вставки

Build/Products/Release-iphoneos/MyFramework.framework/Modules/MyFramework.swiftmodule/

в

Build/Products/Release-iphonesimulator/MyFramework.framework/Modules/MyFramework.swiftmodule/

и затем я распространял эту последнюю структуру:

Build/Products/Release-iphonesimulator/MyFramework.framework.

Сделайте обратное !Как только lipo сделано, скопируйте / вставьте MyFramework.swiftmodule/ Release-iphonesimulator/ в Release-iphoneos/ и распределите .framework в Release-iphoneos/.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...