react-native-s3
react-native-s3 copied to clipboard
Failed to push to apple store
We tried to upload to apple store, then get the following errors:
iTunes Store Operation Failed
description length:1020218
iTunes Store Operation Failed
ERROR ITMS-90087: "Unsupported Architectures. The executable for ****.app/Frameworks/AWSCognito.framework contains unsupported architectures '[x86_64, i386]'."
iTunes Store Operation Failed
ERROR ITMS-90087: "Unsupported Architectures. The executable for ****.app/Frameworks/AWSCore.framework contains unsupported architectures '[x86_64, i386]'."
iTunes Store Operation Failed
ERROR ITMS-90087: "Unsupported Architectures. The executable for ****.app/Frameworks/AWSS3.framework contains unsupported architectures '[x86_64, i386]'."
iTunes Store Operation Failed
ERROR ITMS-90635: "Invalid Mach-O Format. The Mach-O in bundle "****.app/Frameworks/AWSCognito.framework" isn’t consistent with the Mach-O in the main bundle. The main bundle Mach-O contains armv7(bitcode) and arm64(bitcode), while the nested bundle Mach-O contains X86_64ALL(machine code). Verify that all of the targets for a platform have a consistent value for the ENABLE_BITCODE build setting."
iTunes Store Operation Failed
ERROR ITMS-90635: "Invalid Mach-O Format. The Mach-O in bundle "****.app/Frameworks/AWSCore.framework" isn’t consistent with the Mach-O in the main bundle. The main bundle Mach-O contains armv7(bitcode) and arm64(bitcode), while the nested bundle Mach-O contains X86_64ALL(machine code). Verify that all of the targets for a platform have a consistent value for the ENABLE_BITCODE build setting."
iTunes Store Operation Failed
ERROR ITMS-90635: "Invalid Mach-O Format. The Mach-O in bundle "****.app/Frameworks/AWSS3.framework" isn’t consistent with the Mach-O in the main bundle. The main bundle Mach-O contains armv7(bitcode) and arm64(bitcode), while the nested bundle Mach-O contains X86_64ALL(machine code). Verify that all of the targets for a platform have a consistent value for the ENABLE_BITCODE build setting."
iTunes Store Operation Failed
ERROR ITMS-90209: "Invalid Segment Alignment. The app binary at '****.app/Frameworks/AWSCognito.framework/AWSCognito' does not have proper segment alignment. Try rebuilding the app with the latest Xcode version."
iTunes Store Operation Failed
ERROR ITMS-90209: "Invalid Segment Alignment. The app binary at '****.app/Frameworks/AWSCore.framework/AWSCore' does not have proper segment alignment. Try rebuilding the app with the latest Xcode version."
iTunes Store Operation Failed
ERROR ITMS-90209: "Invalid Segment Alignment. The app binary at '****.app/Frameworks/AWSS3.framework/AWSS3' does not have proper segment alignment. Try rebuilding the app with the latest Xcode version."
iTunes Store Operation Failed
ERROR ITMS-90125: "The binary is invalid. The encryption info in the LC_ENCRYPTION_INFO load command is either missing or invalid, or the binary is already encrypted. This binary does not seem to have been built with Apple's linker."
iTunes Store Operation Failed
WARNING ITMS-90704: "Missing App Store Icon. iOS Apps must include a 1024x1024px App Store Icon in PNG format. Without providing the icon in the Asset Catalog or via iTunes Connect, apps cannot be submitted for App Review or Beta App Review. Refer to https://developer.apple.com/ios/human-interface-guidelines/icons-and-images/app-icon/ for more information."
iTunes Store Operation Failed
WARNING ITMS-90080: "The executable 'Payload/****.app/Frameworks/AWSCognito.framework' is not a Position Independent Executable. Please ensure that your build settings are configured to create PIE executables. For more information refer to Technical Q&A QA1788 - Building a Position Independent Executable in the iOS Developer Library."
iTunes Store Operation Failed
WARNING ITMS-90080: "The executable 'Payload/****.app/Frameworks/AWSCore.framework' is not a Position Independent Executable. Please ensure that your build settings are configured to create PIE executables. For more information refer to Technical Q&A QA1788 - Building a Position Independent Executable in the iOS Developer Library."
iTunes Store Operation Failed
WARNING ITMS-90080: "The executable 'Payload/****.app/Frameworks/AWSS3.framework' is not a Position Independent Executable. Please ensure that your build settings are configured to create PIE executables. For more information refer to Technical Q&A QA1788 - Building a Position Independent Executable in the iOS Developer Library."
Did you solve this? I have same problem.
We were able to solve this by adding a build phase that runs this script:
APP_PATH=\"${TARGET_BUILD_DIR}/${WRAPPER_NAME}\"\n\n# This script loops through the frameworks embedded in the application and\n# removes unused architectures.\nfor FRAMEWORK in 'AWSCognito.framework' 'AWSCore.framework' 'AWSS3.framework'\ndo\nFRAMEWORK=\"$APP_PATH/Frameworks/$FRAMEWORK\"\nFRAMEWORK_EXECUTABLE_NAME=$(defaults read \"$FRAMEWORK/Info.plist\" CFBundleExecutable)\nFRAMEWORK_EXECUTABLE_PATH=\"$FRAMEWORK/$FRAMEWORK_EXECUTABLE_NAME\"\necho \"Executable is $FRAMEWORK_EXECUTABLE_PATH\"\n\nEXTRACTED_ARCHS=()\n\nfor ARCH in $ARCHS\ndo\necho \"Extracting $ARCH from $FRAMEWORK_EXECUTABLE_NAME\"\nlipo -extract \"$ARCH\" \"$FRAMEWORK_EXECUTABLE_PATH\" -o \"$FRAMEWORK_EXECUTABLE_PATH-$ARCH\"\nEXTRACTED_ARCHS+=(\"$FRAMEWORK_EXECUTABLE_PATH-$ARCH\")\ndone\n\necho \"Merging extracted architectures: ${ARCHS}\"\nlipo -o \"$FRAMEWORK_EXECUTABLE_PATH-merged\" -create \"${EXTRACTED_ARCHS[@]}\"\nrm \"${EXTRACTED_ARCHS[@]}\"\n\necho \"Replacing original executable with thinned version\"\nrm \"$FRAMEWORK_EXECUTABLE_PATH\"\nmv \"$FRAMEWORK_EXECUTABLE_PATH-merged\" \"$FRAMEWORK_EXECUTABLE_PATH\"\n\ndone
Worked for me too once I reformatted the script
APP_PATH="${TARGET_BUILD_DIR}/${WRAPPER_NAME}"
# This script loops through the frameworks embedded in the application and
# removes unused architectures.
for FRAMEWORK in 'AWSCognito.framework' 'AWSCore.framework' 'AWSS3.framework'
do
FRAMEWORK="$APP_PATH/Frameworks/$FRAMEWORK"
FRAMEWORK_EXECUTABLE_NAME=$(defaults read "$FRAMEWORK/Info.plist" CFBundleExecutable)
FRAMEWORK_EXECUTABLE_PATH="$FRAMEWORK/$FRAMEWORK_EXECUTABLE_NAME"
echo "Executable is $FRAMEWORK_EXECUTABLE_PATH"
EXTRACTED_ARCHS=()
for ARCH in $ARCHS
do
echo "Extracting $ARCH from $FRAMEWORK_EXECUTABLE_NAME"
lipo -extract "$ARCH" "$FRAMEWORK_EXECUTABLE_PATH" -o "$FRAMEWORK_EXECUTABLE_PATH-$ARCH"
EXTRACTED_ARCHS+=("$FRAMEWORK_EXECUTABLE_PATH-$ARCH")
done
echo "Merging extracted architectures: ${ARCHS}"
lipo -o "$FRAMEWORK_EXECUTABLE_PATH-merged" -create "${EXTRACTED_ARCHS[@]}"
rm "${EXTRACTED_ARCHS[@]}"
echo "Replacing original executable with thinned version"
rm "$FRAMEWORK_EXECUTABLE_PATH"
mv "$FRAMEWORK_EXECUTABLE_PATH-merged" "$FRAMEWORK_EXECUTABLE_PATH"
done
@beaurushton thanks! The script you provided fixes the issue.