We have a server with mac and Xcode
which generates apps for IOS signing them with release provisioning profile and sign identities. It does by command line
It worked perfectly until we upgraded from Xcode 14
to Xcode 15.2
This is the command that we execute to generate the Xarchive
, and it is failing, not generating anything and giving error:
xcodebuild -workspace Project.xcworkspace -scheme "Release Ads"
-xcconfig Project/Custom.xcconfig PROVISIONING_PROFILE_SPECIFIER=realidentifier
CODE_SIGN_IDENTITY=realsignidentity
CODE_SIGN_ENTITLEMENTS=/Users/user/project/Project/Project.entitlements
archive
This is the content of Custom.xcconfig
file:
OTHER_SWIFT_FLAGS = -Onone -DCOCOAPODS -DRELEASE -DADS -DFIREBASE -DPUSH
This is the content of Project.entitlements
file:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>aps-environment</key>
<string>production</string>
<key>application-identifier</key>
<string>$(AppIdentifierPrefix)$(CFBundleIdentifier)</string>
<key>beta-reports-active</key>
<true/>
</dict>
</plist>
I can see this on the error log of the console:
2024-05-08 18:38:55.527 --- xcodebuild: WARNING: Using the first of multiple matching destinations:
2024-05-08 18:38:55.527 { platform:macOS, arch:arm64, variant:Designed for [iPad,iPhone], id:00008103-001904CE1EC3001E }
2024-05-08 18:38:55.527 { platform:iOS, id:dvtdevice-DVTiPhonePlaceholder-iphoneos:placeholder, name:Any iOS Device }
2024-05-08 18:38:55.527 { platform:iOS Simulator, id:dvtdevice-DVTiOSDeviceSimulatorPlaceholder-iphonesimulator:placeholder, name:Any iOS Simulator Device }
2024-05-08 18:38:55.527 { platform:iOS Simulator, id:588FF55F-AFE3-4201-883D-AA074825765E, OS:17.2, name:iPad (10th generation) }
2024-05-08 18:38:55.527 { platform:iOS Simulator, id:588FF55F-AFE3-4201-883D-AA074825765E, OS:17.2, name:iPad (10th generation) }
2024-05-08 18:38:55.527 { platform:iOS Simulator, id:E7D3BE01-626C-4448-AD07-9B72E8D59778, OS:17.2, name:iPad Air (5th generation) }
2024-05-08 18:38:55.527 { platform:iOS Simulator, id:E7D3BE01-626C-4448-AD07-9B72E8D59778, OS:17.2, name:iPad Air (5th generation) }
2024-05-08 18:38:55.527 { platform:iOS Simulator, id:CE0E7741-9872-4903-95D3-DA86730D8D91, OS:17.2, name:iPad Pro (11-inch) (4th generation) }
2024-05-08 18:38:55.527 { platform:iOS Simulator, id:CE0E7741-9872-4903-95D3-DA86730D8D91, OS:17.2, name:iPad Pro (11-inch) (4th generation) }
2024-05-08 18:38:55.527 { platform:iOS Simulator, id:23DEF9D6-7B62-4829-A2F0-9C4356F7CB22, OS:17.2, name:iPad Pro (12.9-inch) (6th generation) }
2024-05-08 18:38:55.527 { platform:iOS Simulator, id:23DEF9D6-7B62-4829-A2F0-9C4356F7CB22, OS:17.2, name:iPad Pro (12.9-inch) (6th generation) }
2024-05-08 18:38:55.527 { platform:iOS Simulator, id:00F68979-CC31-4FDA-BD44-6AE3E41EEC3A, OS:17.2, name:iPad mini (6th generation) }
2024-05-08 18:38:55.527 { platform:iOS Simulator, id:00F68979-CC31-4FDA-BD44-6AE3E41EEC3A, OS:17.2, name:iPad mini (6th generation) }
2024-05-08 18:38:55.527 { platform:iOS Simulator, id:5396905C-A343-4D94-95DD-23FE0ADDDCEB, OS:17.2, name:iPhone 15 }
2024-05-08 18:38:55.527 { platform:iOS Simulator, id:5396905C-A343-4D94-95DD-23FE0ADDDCEB, OS:17.2, name:iPhone 15 }
2024-05-08 18:38:55.527 { platform:iOS Simulator, id:F713CFB0-8617-424D-BE03-51B506931BFD, OS:17.2, name:iPhone 15 Plus }
2024-05-08 18:38:55.527 { platform:iOS Simulator, id:F713CFB0-8617-424D-BE03-51B506931BFD, OS:17.2, name:iPhone 15 Plus }
2024-05-08 18:38:55.527 { platform:iOS Simulator, id:594E330B-252D-4728-955C-B508E70AD20A, OS:17.2, name:iPhone 15 Pro }
2024-05-08 18:38:55.527 { platform:iOS Simulator, id:594E330B-252D-4728-955C-B508E70AD20A, OS:17.2, name:iPhone 15 Pro }
2024-05-08 18:38:55.527 { platform:iOS Simulator, id:B7551687-D9C6-46E9-BA26-D0CC70AC134D, OS:17.2, name:iPhone 15 Pro Max }
2024-05-08 18:38:55.527 { platform:iOS Simulator, id:B7551687-D9C6-46E9-BA26-D0CC70AC134D, OS:17.2, name:iPhone 15 Pro Max }
2024-05-08 18:38:55.527 { platform:iOS Simulator, id:E5D6C1EA-81B1-49D5-BF55-673258AE1227, OS:17.2, name:iPhone SE (3rd generation) }
2024-05-08 18:38:55.527 { platform:iOS Simulator, id:E5D6C1EA-81B1-49D5-BF55-673258AE1227, OS:17.2, name:iPhone SE (3rd generation) }
2024-05-08 18:39:24.105 ** ARCHIVE FAILED **
2024-05-08 18:39:24.105
2024-05-08 18:39:24.105
2024-05-08 18:39:24.105 The following build commands failed:
2024-05-08 18:39:24.105 PhaseScriptExecution [CP] Embed Pods Frameworks /Users/user/Library/Developer/Xcode/DerivedData/Project-bdyzwdcujggpnmedzctlookvtuwv/Build/Intermediates.noindex/ArchiveIntermediates/Release/IntermediateBuildFilesPath/Project.build/Release-iphoneos/Project.build/Script-FEF05C244C47CB5438EC384B.sh (in target 'Project' from project 'Project')
2
Answers
Finally I solved it updating cocoapods to last version (1.15.x). Xcode changed something in the way they manage relative routes and that broke cocoapods management of supporting files.
As @Philippe as wrote on the comments, if you search about PhaseScriptExecution and cocoapods you can find some info about the issue
Open the settings of your target.
Go to the "Build Phases" tab.
Find the "Run Script Phase" section.
Edit the script to point to the correct path for xcode_backend.sh.
Specify the path to the Flutter SDK
export FLUTTER_ROOT="/Users/vr-group/development/flutter"
Execute the build script
"${FLUTTER_ROOT}/packages/flutter_tools/bin/xcode_backend.sh" build