0
votes

I am working on an app I've published numerous times before. I recently updated to Xcode 12 and am using the Carthage workaround script, which enables me to build Debug builds without problem. When I try to upload an archive to App Store Connect, though, I see this error:

App Store Connect Operation Error ERROR ITMS-90085: "No architectures in the binary. Lipo failed to detect any architectures in the bundle executable."

I looked around in the xcarchive and can see that in the .app directory, my non-carthage embedded library's directory does not have a unix executable, whereas past successful xcarchive uploads do have that executable.

Any thoughts on how to fix this? Going back to Xcode 11.7 would require changing the app code, so I'm hoping to not have to do that.

Update: Did also try removing and re-embedded the framework in question, but that didn't help.

I finally added a build phase run script that fixes this issue, but will continue to look for a better solution. Anyway here's the script I added --

    MISSING_FRAMEWORK_EXECUTABLE="${PROJECT_TEMP_ROOT}/UninstalledProducts/iphoneos/MyFramework.framework/MyFramework"
    
TO_DIRECTORY="${BUILT_PRODUCTS_DIR}/${FRAMEWORKS_FOLDER_PATH}/MyFramework.framework/" 
    
mkdir -p "${TO_DIRECTORY}" 

cp "${MISSING_FRAMEWORK_EXECUTABLE}" "${TO_DIRECTORY}" 
1
Also, I'm noticing that the unix executable in question does get linked to in a subfolder of the ArchiveIntermediates directory, but isn't added to the xcarchive for some reason. Gonna work on adding it, but seems like there should be a more out-of-the-box or configuration-driven way since I'm just embedding a local framework.lemon lime pomelo
FWIW, the unix executable actual file that's linked to lives in the /Users/me/Library/Developer/Xcode/DerivedData/MyApp-xcode-generated-random-letters/Build/Intermediates.noindex/ArchiveIntermediates/MyApp/IntermediateBuildFilesPath/UninstalledProducts/iphoneos/MyEmbeddedFramework.framework directory.lemon lime pomelo

1 Answers

1
votes

Remove POD folder and do Pod install again. It worked for me , i hope it will work for you as well.