Xcode 10.2.1 Command PhaseScriptExecution failed with a nonzero exit code
IosSwiftXcodeCocoapodsxcode10.2.1Ios Problem Overview
Showing Recent Messages:-1: mkdir -p /Users/spritzindia/Library/Developer/Xcode/DerivedData/Contigo-atftiouzrdopcmcpprphpilawwzm/Build/Products/Debug-iphonesimulator/Contigo.app/Frameworks
Showing Recent Messages:-1: rsync --delete -av --filter P .*.?????? --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "/Users/pothi/Library/Developer/Xcode/DerivedData/Contigo-atftiouzrdopcmcpprphpilawwzm/Build/Products/Debug-iphonesimulator/IQKeyboardManagerSwift/IQKeyboardManagerSwift.framework" "/Users/pothi/Library/Developer/Xcode/DerivedData/Contigo-atftiouzrdopcmcpprphpilawwzm/Build/Products/Debug-iphonesimulator/Contigo.app/Frameworks"
Command PhaseScriptExecution
failed with a nonzero
exit code
I deleted derived data. i have tried :
> keychain access -> right click on login -> lock & unlock again -> > clear Xcode project
Restarted machine, no use
How do I resolve "Command PhaseScriptExecution failed with a nonzero exit code
" error when trying to archive project.
And I am using those librarys
pod 'IQKeyboardManagerSwift'
pod 'SDWebImage', '~> 4.0'
pod 'KRPullLoader'
pod 'Paytm-Payments'
Ios Solutions
Solution 1 - Ios
After trying all the solutions, I was missing is to enable this option in:
Targets -> Build Phases -> Embedded pods frameworks
In newer versions it may be listed as:
Targets -> Build Phases -> Bundle React Native code and images
- Run script only when installing
Solution 2 - Ios
Go to
-
Keychain Access
->Right-click on login
->Lock & unlock again
-
Xcode
->Clean Xcode project
->Make build again
Solution 3 - Ios
Run the following commands from the ios directory:
pod deintegrate
pod install
- XCode Clean build
Or, One-Liner:
pod deintegrate; pod install
Solution 4 - Ios
> Warning: Legacy Build System is deprecated and will be removed in a further release.
Xcode -> File -> Workspace Setting -> change Build System to Legacy Build System.
Note - Its not the ideal solution.
Solution 5 - Ios
For me, I was removing Crashlytics, Fabric and FirebaseCrashlytics. So there was a script (Run Script) for Fabric. So since app was running that first and I had removed the framework already, I was getting this error. So I removed the Run Script tab for Fabrics and then it worked perfectly fine.
Solution 6 - Ios
I was facing this issue because of Firebase Crashlytics. In Targets -> Build Phases -> Run Script
I had Firebase Crashlytics written like
${PODS_ROOT}/FirebaseCrashlytics/run
I changed that and put it in double quotes
"${PODS_ROOT}/FirebaseCrashlytics/run"
Solution 7 - Ios
Xcode 12.2 solution: Go to:
- Build settings -> Excluded Architectures
- Delete "arm64"
Solution 8 - Ios
I have faced the same issue in Xcode 13. I have updated the Crashlytics SDK after that I got the same issue. In my case I have followed the Solution2
Solution1:
I have removed the data from Run Script.
-> Targets ->go to Build Settings ->Click Run Script -> Remove data
Solution2:
If script is mandatory to your project just select install builds only option.
Select For install builds only option
Script:
"${PODS_ROOT}/FirebaseCrashlytics/upload-symbols" -gsp "${PROJECT_DIR}/#####/GoogleService-Info.plist" -p ios "${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}"
In the above script ##### is the app name, if required use your app name. If not use below script.
"${PODS_ROOT}/FirebaseCrashlytics/upload-symbols" -gsp "${PROJECT_DIR}/GoogleService-Info.plist" -p ios "${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}"
Solution 3
And one more importent thing is you must set the path of the file properly.
Find the below example path.
You have multiple google services plist piles, in this case you are maintaining 2 different files. Your google service info plist file was under FireBase, Dev. In this case you must add these files path properly. Otherwise you will get the same error.
"${PODS_ROOT}/FirebaseCrashlytics/upload-symbols" -gsp "${PROJECT_DIR}/#####/Firebase/Dev/GoogleService-Info.plist" -p ios "${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}"
Solution 3 file structure:
Solution 9 - Ios
For me, the issue was with the node version that xcode was using. My project was building fine in Expo but not in Xcode after ejecting. I found my answer here: https://github.com/expo/expo/issues/8488
-
check you have the latest version of node
$ node --version
-
delete the version in /usr/local/bin/
$ rm /usr/local/bin/node
-
re add a sym link
$ ln -s $(which node) /usr/local/bin/node
Solution 10 - Ios
Restart worked for me... Mac OS restart, not xCode restart...
Solution 11 - Ios
I had a similar error
/{path to project root}/Pods/Target Support Files/Pods-{project name}/Pods-{project name}-frameworks.sh: Permission denied
Command PhaseScriptExecution failed with a nonzero exit code
In my case I had received a zip of a repo that included the Pods folder. It turns out that at some point between it being originally created and sent to me, the *.sh files in Pods/Target Support Files/Pods-{PROJECT}/
had all lost their execute permissions. Giving those files +x
was the solution
For Example: chmod +x (File name in the error)
In my case: chmod +x Pods-TestExample-frameworks.sh
Solution 12 - Ios
The reason
This build phase also lets you provide a list of input and output files. The script always runs when no input and output files are provided. When input and output files are provided, the script only runs if it has never been run before, one of the input files has changed, or one of the output files is missing
If you are using cocoapods, you may not be required to have an additional run script .
The solution
So the solution is remove the script as follows:
Solution 13 - Ios
try this step if you need: Xcode 11.5 1- open terminal: cd Path_project 2- cd pod clean 3- pod install
if nothing change make this step
1- open Build Phases for target -> [CP] Embed Pods FrameWork check this field
Solution 14 - Ios
In my case the error was caused by the lack of space on my machine. Deleting old builds fixed the problem.
Solution 15 - Ios
In Xcode 12.4, after hours of try found the solution to this.
Go to Target > Architectures
Set Build Active Architecture Only
to YES
and Excluded Architectures
to x86_64
Solution 16 - Ios
Another reason for the error might be is that Xcode is running a script during the run phase.
If this is the case, you have 2 options:
-
Delete the script (makes sense if the script is NOT important)
-
Modify/update the scripts location path (Xcode might not be able to locate the script)
In my case, the script was important, so I modified/updated its location.
Originally, the script location path was written like this:
$SRCROOT/scripts/clean-assets.sh
Because the scripts path contained spaces (I moved the project to a new directory), I changed the path to this:
"$SRCROOT"/scripts/clean-assets.sh
By adding quotes to SRCROOT, changing it to "$SRCROOT", the error will go away.
Solution 17 - Ios
If you experience this issue in flutter. Try running the application on a real iPhone device from other IDE like android studio or vs code.
The issue was flutter SDK missing iOS-profile-release.
So by running the flutter command
flutter run
It downloads the missing things before running and this solves the problem.
Solution 18 - Ios
For Xcode 11, React Native development environment. I usually have this problem when a dependency is not updated.
You can try following these steps, this usually works for me:
1- Delete your Podfile.lock (I like to use the command '-rm -rf Podfile.lock' on the terminal for this)
2- Delete your Pods folder (I like to use the command '-rm -rf Pods' in the terminal for this)
3- Delete your .xcworkspace
4- Pod install
5- Clear your project into XCode> Product> Clean Build Folder
Solution 19 - Ios
If you are doing Unity Project. You can get this error.
Command PhaseScriptExecution failed with a nonzero exit code
The solution is very simple
https://forum.unity.com/threads/error-on-build.561706/
Pre-requisites: Have cocoapods installed
Not Needed: 1. Install "cocoapods"
for installing run following line in your terminal: $sudo gem install cocoapods
- Open your project folder using terminal
- Run this line:
chmod +x MapFileParser.sh
- Run this line:
chmod +x process_symbols.sh
It worked for me)
I think that installing "cocoapods" is not necessary, only step 3 and 4 enough to solve, but it does not work, you can try it.
Solution 20 - Ios
I have a project in React Native
and suddenly this error appeared. I was doing something with homebrew beforehand and this solved the issue for me:
brew update
brew upgrade
brew cleanup
Solution 21 - Ios
solution for me, none of these arch -x86_64 pod install
and etc does not work until I did these steps:
-
run sudo gem install ffi in terminal.
-
then run
arch -x86_64 pod install
and build again.
and worked fine.
Solution 22 - Ios
By mistake I had uninstalled carthage
from my system. Adding that fixed the issue for me.
Step 1: Download & install latest carthage DMG here: Carthage
Step 2:
carthage update --platform iOS --cache-builds
Step 3: Run project & enjoy. :)
Solution 23 - Ios
I tried everything above nothing worked for me it was a space in a folder name
/swift files/project a/code.xcworkspace ->
/swift_files/project_a/code.xcworkspace
did the trick If I looked deeper it was stopping at /swift
Solution 24 - Ios
I got the error while using react-native-config.
Got this error since I had an empty line in .env files...
FIRST_PARAM=SOMETHING
SECOND_PARAM_AFTER_EMPTY_LINE=SOMETHING
3 hours wasted, maybe will save someone time
Solution 25 - Ios
For me the reason was while changing name of app I added a single quote ' in name. I tried different solution and ran into different errors, but at last, while renaming app, I did not include ' single quote and it solved the problem.
Solution 26 - Ios
For me, the issue was with Sentry.
- in Xcode navigate to
targets
->Build Phases
- delete the
Upload Debug Symbols to Sentry
phase - clean the build folder and try the build again
Solution 27 - Ios
I used flutter to create iOS project. When build for Simulator, failed with the same error message. It is solved by following work.
xCode 12.3 Build Settings->Build Active Architecture Only, set it to Yes.
Solution 28 - Ios
I was able to resolve this error by remove file in Pods -> Targets Support Files -> Pods-AppName -> Pods-AppName-frameworks.sh. After removing that file again install pod using command pod install.
OR.
Try this:
-> quit xcode -> install pod(again) -> start xcode
Solution 29 - Ios
Take Pods-resources.sh from project path and paste in Terminal
sudo chmod a+x "Pods-resources.sh file path here"
Example Usage:
sudo chmod a+x "/Users/path/Desktop-path/My Work-path/Pods/Pods-resources.sh"
Solution 30 - Ios
In my case I have removed Run Script from the Build Phase in XCode.
Solution 31 - Ios
I tried most of above. I was developing in Flutter so what worked for me was pub cache repair
.
Solution 32 - Ios
I had this issue because my Project file name had space, eg. "Ariven 2" , so changing to "Ariven2" solved the issue.
Happy Coding :)
Solution 33 - Ios
Actually I had this issue in building my first app looks like there is something changed in the new flutter version 2.5.3 the latest because when I downgrade to 2.5.0 I build on my simulator & my iPhone also with no issues
Solution 34 - Ios
Nothing worked for me until going to VSCode(IDE APP), and ios/App/App.xcodeproj/project.pbxproj
that file, and searched
EXCLUDED_ARCHS = arm64
, and delete that line,
I did the same thing from Xcode, like go to target>build settings
, exclude arc thing, and deleted arm64 from there, didn't work before, but deleting from VSCode worked, weird
Solution 35 - Ios
Delete these Folders/Files
- PodFile
- PodFile.lock
- Pods
- Runner.Xcworkspace
Select IOS device/Simulator From Android Studio If build Successfully then build app from XCode
Solution 36 - Ios
In my case was that I changed a line in a script of my Xcode project and that line was badly written (I forgot to add ";" at the end of the line). So I added the ";" and clean and build project.
Solution 37 - Ios
What helped for me was: In Targets -> Signing & Capabilities > Uncheck Automatically manage signing (or check and uncheck if it was unchecked ) > build project
Solution 38 - Ios
Try this!
Build phases > Add > New Run Script Phase
Code:
# Type a script or drag a script file from your workspace to insert its path.
# skip if we run in debug
if [ "$CONFIGURATION" == "Debug" ]; then
echo "Skip frameworks cleaning in debug version"
exit 0
fi
APP_PATH="${TARGET_BUILD_DIR}/${WRAPPER_NAME}"
# This script loops through the frameworks embedded in the application and
# removes unused architectures.
find "$APP_PATH" -name '*.framework' -type d | while read -r FRAMEWORK
do
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
Xcode will refuse to sign them. The above script removes unused architectures.
Solution 39 - Ios
From Xcode 12.2, you need to remove the $(VALID_ARCHS)
build setting from your main and CocoaPods targets, and use $(ARCHS_STANDARD)
for all targets. Also, switching to the Legacy Build System is no longer a good solution, since Xcode will deprecate this in a future release. Clear derived data after applying these changes, and before a new rebuild.
Solution 40 - Ios
I switched from Firebase CocoaPods to Swift Package Manager.
The old symbols upload script still was listed in the 'Build Script' phase.
Delete this and replace with whatever is recommended. At time of publishing it was ' "${BUILD_DIR%Build/*}/SourcePackages/checkouts/firebase-ios-sdk/Crashlytics/run"'.
Solution 41 - Ios
what worked for me was going to Excluded Architectures and then deleting arm64 on each of the options provided and then clean build
Solution 42 - Ios
When I encountered this error, it was only when I was archiving. Running and building worked fine but archiving kept throwing the error. What worked for me was updating my cocopods:
sudo gem update cocoapods
Solution 43 - Ios
In my case, my VALID_ARCHS was containing x86_64. After deleting it, my project has built without problems.
Solution 44 - Ios
In my case "pod 'FirebaseUI/Facebook'" was causing Firebase to install an earlier version (Terminal: "Installing Firebase 2.5.1 (was 8.10.0)").
Removing "pod 'FirebaseUI/Facebook'" from the pod file fixed it.
Solution 45 - Ios
Solution for React Native: Run from project root
(Modify "PROJECTNAME" by the name of the project)
cd iOS
cd Pods/Target\ Support\ Files/Pods-PROJECTNAME
chmod 755 Pods-PROJECTNAME-resources.sh
Solution 46 - Ios
error SyntaxError:
Component has already been declared. (68:2)
See Xcode logs if you see the above error,then check your navigation I think you added a double component in your project navigation flow
Solution 47 - Ios
Specifically for Flutter!
It turned out to be because I move a folder with .dart
files to a new location and imports referencing the old directory were still in the code. Deleting those imports fixes the problem.
Unfortunately, with VSCode, all you get is a warning that the import is not used, not that it doesn't exits! Opening Xcode revealed these errors.
Solution 48 - Ios
I encountered this error in the context of a React-Native project running on iOS. I did several things so it's hard to know which one fixed it:
- Make sure you don't have errors in your bash or zshrc profile -> I had a error related to my jdk. You will know if when opening a terminal window it shows an error/warning
- Make sure you don't have spaces in the path
- If you are using Firebase, make sure your GoogleService-Info file is in the ios folder and not in the ios>project folder
- Do not keep the project in an iCloud folder, especially if you are low on space. I suspect this was a big factor for mine
Finally, my worked when doing these and running react-native 0.67.2. The newer version on it's own didn't fix it, I had to do at least one of these other assertions to get it working.
Things to consider:
- Running the project in Xcode will usually give you more insight into the problem
- Clearing the Xcode build folder wasn't enough on it's own to fix it but when trying a potential solution it is important you do it (and potentially also
pod deintegrate && pod install
) to make sure there are no traces of the previous ios build. - I am running node version 16.13, running node 17 gave me different errors and I wouldn't recommend it to date. I am running macOS Monterrey and Xcode 13.2.1, but I tried on BigSur and also Xcode 12.5.1 and the still got the error.
For react-native, this error is discussed in length here: https://github.com/facebook/react-native/issues/31181
Solution 49 - Ios
For Mac M1, remove arm64 in build settings fix the issue on real device build. I add this string when run with simulator.
Solution 50 - Ios
- delete
node_modules
folder - delete
Pods
folder underios
- run
yarn cache clean
- run
yarn
- run
cd ios & pod install
- enjoy build
Solution 51 - Ios
If you need to run the project in a physical device, none of the answers worked for me in Xcode 13.3. What worked for me was deleting VALID_ARCHS = x86_64; from project.pbxproj everywhere. but this won't let you run in simulator
Solution 52 - Ios
In terminal go to project path and follow the below steps
-
pod deintegrate
-
pod cache clean --all
-
pod install
Solution 53 - Ios
Probably you should do as follow:
- Remove
.xcworkspace
andPod
folder - Run
pod install
- Delete derived data
- Clean all project (press alt before click on click)
I tried above things and it worked for me.
Solution 54 - Ios
Remove a space in fileName
ex)
- AS-IS: /Users/user/Desktop/My Projects/TestProject/
- TO-BE: /Users/user/Desktop/MyProjects/TestProject/
Solution 55 - Ios
Just restart your Mac, it helped me
Solution 56 - Ios
In my case, I was running out of memory on my computer I opened some space on storage and it works as usual
Solution 57 - Ios
I had the same problem in Xcode 11.5 after revoking a certificate through Apple's developer homepage and adding it again (even though it looked different afterwards):
Every time I tried to archive my app, it would fail at the very end (not the pods but my actual app) with the same PhaseScriptExecution failed with a nonzero exit code
error message. There is/was a valid team with an "Apple Development" signing certificate in "Signing & Capabilities" (project file in Xcode) and locking & unlocking the keychain, cleaning & building the project, restarting,... didn't work.
The problem was caused by having two active certificates of the same type that I must have added on accident, in addition to the renewed one. I deleted both the renewed one and the duplicate and it worked again.
You can find your certificates here or find the page like this:
- https://developer.apple.com/
- "Account" (at the top)
- Log in
- "Certificates, IDs & Profiles" (on the left)
Also check that there aren't any duplicates in your keychain! Be careful though - don't delete or add anything unless you know what you're doing, otherwise you might create a huge mess!
Solution 58 - Ios
I was also facing the same issue , I fixed it by simply removing nvm and my app start working fine on IOS. Try this :
brew uninstall --force nvm