135

When I try to build my app with Xcode, an error interrupts the build process:

Command CompileStoryboard failed with a nonzero exit code

Sometimes, it shows this error instead:

Command CompileSwift failed with a nonzero exit code

I have New Build System turned on.

What can I do to fix this?

Tamás Sengel
  • 55,884
  • 29
  • 169
  • 223

48 Answers48

76

Closing Xcode for me didn't have an effect. Instead, I cleaned the project using CommandShiftK.


I also found another reason: I had a storyboard reference to another storyboard which I had removed. The quick fix was deleting this.

enter image description here

George
  • 25,988
  • 10
  • 79
  • 133
  • Well closing your project does not clean it that's why it didn't work :) – arled Feb 08 '19 at 11:50
  • I to go this error. In my Cordova config.xml file the `deployed-target` was set to 11.0 - but after upgrading to Xcode 13.1 it recommend a bunch of project updates, one of which was setting the `deployed-target=12.0`. After accepting the recommended `12.0` change the next compile threw the above error. I then fixed the config.xml deployed-target to 12.0, performed a `clean` on my project, restarted Xcode, and the error was gone. – rolinger Nov 08 '21 at 16:39
49

I also facing same issue in xcode 10 and tried all the solutions provided but nothing working.

Then I deleted all the files and folders of the following folder :

~/Library/Developer/Xcode/DerivedData

and it worked like a charm.

Krishna Meena
  • 5,693
  • 5
  • 32
  • 44
39

When you stop building a project when the compiler is in the middle of something "important", this error could appear. In that case, building the project again and letting it finish normally makes this error disappear.

Tamás Sengel
  • 55,884
  • 29
  • 169
  • 223
30

This is a known issue with Swift 4.2 and Xcode 10. I found an article here that fixed it for me: https://github.com/Yummypets/YPImagePicker/issues/236

In short, go to your projects build settings, and add a user defined setting named SWIFT_ENABLE_BATCH_MODE and set its value to NO.

Previously, I tried each of the methods suggested here (rebuild, exit Xcode, clean and rebuild, purge Derived Data files). None of them worked.

Once I added the user define build setting per the article, Swift then told me the true error. In my case, it was a missing }, but it could be any number of problems.

cdeerinck
  • 688
  • 6
  • 17
  • I tried this and no result.... Anyother ways @cdeerinck – Pavan Gangireddy Nov 02 '21 at 05:51
  • I did find this useful. I had an error in a DispatchQueue and couldn't' see the error until I using this, the logs then pointed me to the lines inside the dispatch queue and that allowed me to then find it was just a problem with an unwrapped optional failing to get it's type. Really simple. Get rid of your dispatch queues and you may see the error without having to set SWIFT_ENABLE_BATCH_MODE – Dan M Jul 14 '22 at 01:39
14

I encountered this error when I was upgrading my project from Swift 4 to 5. I first updated all my pods to their latest versions. When I built, some pods showed this error.

The following steps resolved this issue for me:

  1. Removed all pods from Podfile
  2. Executed pod install to remove all installed pods
  3. Executed pod deintegrate to remove support for CocoaPods
  4. Deleted Podfile.lock and .xcworkspace from my project so no CocoaPods anymore
  5. Now my project is a pure Xcode project
  6. Opened my project from the regular .xcodeproj file
  7. Changed Swift Version of my project to Swift 5
  8. Cleaned the project (cmd+shift+K)
  9. Quitted Xcode
  10. Restored all pods to my Podfile
  11. Executed pod install to reintegrate CocoaPods and add my pods
  12. Opened the project from the .xcworkspace file
  13. Cleaned and rebuilt
  14. Some old pods that were still using Swift 4.0 (SlideMenuControllerSwift in my case) were set to Swift 5.0, caused many build errors in their code. I corrected it back to Swift 4.0 by opening the Pods project and selecting its target.
  15. Cleaned again, rebuilt.

Now I have only errors in my own project code related with difference in Swift version I made. My job now is to fix them.

12

This error happened to me when I forgot to change entity Properties before creating NSManagedObject subclass. Solved by:

  1. delete Entity+CoreDataClass.swift and Entity+CoreDataProperties.swift.
  2. under "class" of the entity model inspector, change "module" to Current Product Module and "codegen" to Manual/None.
  3. recreate the NSManagedObject.

image

rkta
  • 3,959
  • 7
  • 25
  • 37
JeffreyWang23
  • 161
  • 1
  • 4
11

I had the error Command LinkStoryboards failed with a nonzero exit code, and found that I was using a reference to a non-existent storyboard. I had recently changed the name of a storyboard file, so changing the reference from the 'old' name to the 'new' name solved it for me.
You may not have exactly the same error as me, but an easy way to find a more detailed explanation of the error is to:

  • Show the issue navigator (while the build time error is showing)
  • Click the error: Click the error in the issue navigator
  • Then, you should see more about your error: Command LinkStoryboards failed with nonzero exit code


I hope this helps. Please, I am aware that I am answering from experience of a different error than this question was asked about, but I believe this advice should help you conquer similar problems!

Benj
  • 736
  • 7
  • 21
10

For me cleaning the project (Command + Shift + K) and restarting xCode worked for me

Moamen Mostafa
  • 349
  • 3
  • 6
9

If you have multiple targets, where two or more targets have files with the same name, check the target membership of those files in Files inspector. The error occurs when multiple instances of the equally named file have set the target membership for the same target.

Adam Bardon
  • 3,829
  • 7
  • 38
  • 73
  • This led me into the correct investigation path. After reviewing all files, I noticed that some "didn't" have the Target Membership they were supposed to have (no idea why). I checked the checkbox in that file's inspector and suddenly everything is building again. Go figure. – Alex Jul 17 '22 at 21:11
7

Since this issue looks to have dozens of possible solutions and the root cause could be very vague, I'll throw my situation into the ring. Half of my pods were failing with some sort of CompileSwiftSource failure, but only on archive. I was still able to build for device and simulator just fine. I tried a lot (if not all) of the solutions suggested here with no luck. One of the pods had a slightly different error before the CompileSwiftSource error so I went to updating and trying to fix that single pod. It was the Cache library for iOS which hadn't been updated in a while. There was a fork that resolved the issue with updating to Xcode 10.2 that I was able to update to and after that, all of the other issues took care of themselves. So look for a single outlier in your pods if you're getting a bunch of them erroring out and start there.

Steve E
  • 792
  • 10
  • 16
7

Switching to the legacy build system fixed the issue for me

Charlton Provatas
  • 2,184
  • 25
  • 18
3

I had the JSONwebtoken pod installed and that was causing issues. I needed to delete the CommonCrypto folder that is in the JSONWebtoken pod folder. Here is a ->link<- explaining the issue. This started happening in Xcode 10.

Tamás Sengel
  • 55,884
  • 29
  • 169
  • 223
K-2SO
  • 233
  • 1
  • 12
3

In my case, I was clean build folder then restart my mac then it's work.

Md. Ibrahim
  • 1,239
  • 14
  • 18
3

In my case it was about having a file named Location. after some digging I find out that it was about having two file with the same name (weird). Cause I don't, however, it's been solved by removing the file and adding another file with a different name.

filenames are used to distinguish private declarations with the same name
SinaMN75
  • 6,742
  • 5
  • 28
  • 56
3

This can also occur when you have two swift files with the same name. For example, two ContentView.swift files

2

In my case, I used too complicated initializations inside a class extension. It suddenly broke my build.

class MyClass { }
extension MyClass {
static var  var1 = "", var2 = "", var3 = "", var4 = "", ...., var20 = ""
}

Resolved:

class MyClass { }
    extension MyClass {
    static var var1 = "",
    static var var2 = "",
    static var var3 = ""
    static var var4 = "", ...., 
    static var var20 = ""
    }
Vyacheslav
  • 26,359
  • 19
  • 112
  • 194
2

In my case it was empty assets catalog, when I delete it everything was fine again.

2

Command CompileSwift failed with a nonzero exit code

This error happens when you are migrating your code from Xcode 9 to Xcode 10+. It due to any class name is conflicting with existing apple classes. For Example: State, Event etc.

  1. So first change the class/structure name if any existing in your code like "State" to "StateDetail"

  2. If Info.plist is added in target, remove tick mark from it so it will not copy app bundle (Latest Xcode10 security reason).

    • Select Info.plist file and uncheck under "Target Membership" in right side Identity inspector

And build code again!!!

Sandip Patel - SM
  • 3,346
  • 29
  • 27
2

In my case, the problem was that I assigned a .swift class to the viewController in the storyboard, while the project was Objective C.

mahdi
  • 439
  • 3
  • 15
2

I got this error while trying to run my unit tests in a submodule. What I have done is:

Change the simulator => Clean the project => Build the project => Run unit tests.

After this, my unit tests ran without any issue.

Tamás Sengel
  • 55,884
  • 29
  • 169
  • 223
Udaya Sri
  • 2,372
  • 2
  • 25
  • 35
2

I tried a lot of the options discussed here.

  • Delete and reinstall pods
  • Clean Build Folder
  • Delete Derived Data
  • Add SWIFT_ENABLE_BATCH_MODE and set its value to NO
  • Restarting Xcode and Recompiling
  • Restarting iMac and Recompiling
  • set Compilation Mode to Incremental
  • Changed build settings: SWIFT_COMPILATION_MODE = singlefile and SWIFT_OPTIMIZATION_LEVEL = "-O"

Nothing worked. I'm using Xcode Version 11.0 beta (11M336w).

Finally I downloaded a fresh copy and replaced the one I had previously installed. It was the same exact version. That did the trick.

GIJoeCodes
  • 1,680
  • 1
  • 25
  • 28
1

I have the issue like that and my solution is change a little thing in Build Settings:

SWIFT_COMPILATION_MODE = singlefile;
SWIFT_OPTIMIZATION_LEVEL = "-O";

it work to me

Daniel Le
  • 171
  • 1
  • 4
  • 8
1

Alright, I was having the same problem with Xcode 10. I usually use a storyboard for every view, that way if someone is helping it's easier to fold code in. I needed to make one of the view on one storyboard the initial view Controller.

  • Please explain this further, i don't get this answer completely – Mohsin Khubaib Ahmed Nov 07 '18 at 07:49
  • So, you can have more than one storyboard, and in a multiview app I use a storyboard on every view, for modularity and that way if someone is working on another part of the app it's a lot easier to pull in those changes. On the ViewControllers there is an option to make it the initial view controller for that storyboard that loads when you call ```storyboard.loadInitialView()``` and on one storyboard that option wasn't clicked and when I clicked it it went away. – jimistephen Nov 08 '18 at 12:24
1

In my case it was renaming a file to an existing file in other folder(Group) by mistake, just rename it to what it was then the error disappeared

Amir Mehrnam
  • 346
  • 5
  • 5
1

The targets should be specified with related data such as appicon

Bhargav Rao
  • 50,140
  • 28
  • 121
  • 140
1

For me the problem was that on my Podfile I didn't put use_frameworks!. I just uncomment that line, run pod install on the terminal again. And it got fixed.

It was commented since the app was entirely made on Objective-C. Since the app now uses Swift I had to make that change on the Podfile

Luis Felipe
  • 971
  • 1
  • 9
  • 18
1

I had the same error Restarting Xcode and Recompiling Fixed the issue for me.

Abdulmoiz Ahmer
  • 1,953
  • 17
  • 39
1

I got the same error when linking separate storyboards. The error, "Command CompileSwiftSources failed with a nonzero exit code." is shown because I simply forgot to set the view controller inside the second storyboard that I am linking as 'an initial view controller'.

1

Read various article and tried many things. An easy procedure that worked in my case:

  • removed Pods folder
  • pod install
  • product, clean build folder
  • product, build
LMG
  • 1,330
  • 11
  • 21
1

In my use case I had used the function "Refactor to Storyboard" in Xcode 13. It created the new refactored story board fine but failed to add it to bundle resources.

So my fix was to:

  • Select the target project in Xcode Navigator
  • Choose the build phases tab
  • Expand Copy Bundled Resources to see if new storyboard was added. If not, just add it to the list and rebuild.
Tomerikoo
  • 18,379
  • 16
  • 47
  • 61
1

My app was having Notification Service Extension, and was using Xcode 11. The Extension doesn't have anything to do with pods.

After 1-2 years, I have taken that project into my new m1 chip mac with Xcode 13. But the compilation was failing and showing me the error in pods.

I tried to remove and add all pods, tried clean etc all possible available answers available on internet. Almost spent 4-5 hours to make it run, but nothing worked.

Final Solution that worked:

I removed, notification service extension from the project, its target etc too. And then tried to run the app. Amazingly it worked. After that, i added that extension again(by creating new extension and putting the same code again), and everything is working perfectly fine.

I am still surprised that, was that issue with extension or with pods. But finally it worked for me.

Hopefully, this answer might resolve someone's issue and you can save enough time.

Mehul Thakkar
  • 12,440
  • 10
  • 52
  • 81
1

I've seen this error on an enterprise account when user account permissions were changed and new profiles were generated.

In my case I fixed it by revoking my developer certificates and letting xcode regenerate them.

The brute force way to do this is log out of your account in Xcode, then open Keychain Access, export your developer certs and private keys (i.e. make a backup just in case). Delete the certificates and private keys from Keychain Access (you did that backup step, right?), reboot, open xcode and login to your account again and then choose "manage certificate" ... it should prompt to regenerate certificates.

After that this random build error went away.

par
  • 17,361
  • 4
  • 65
  • 80
1

My problem, as several can seem to cause this, was that I was trying to export my app while my hard drive was full!

0

What helped to me is to set Compilation Mode to Incremental for all configurations in Target's Build Settings. With Whole module compilation mode I got errors. But this setting made project build slower.

Denis Kutlubaev
  • 15,320
  • 6
  • 84
  • 70
0

If you are facing an error like that on new MacOS version.

xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun

It means that you need to install XCode command line, open a Terminal and run this command:

$ xcode-select --install

Asif vora
  • 3,163
  • 3
  • 15
  • 31
0

What was causing these errors for me (I was getting 8+ for some of my cocoapods) was fixing any runtime build issues in all the pods.

Kevin R
  • 83
  • 2
  • 9
0

Go to your projects build settings, and add a user defined setting named SWIFT_ENABLE_BATCH_MODE and set its value to NO.

axmrnv
  • 964
  • 10
  • 23
  • This worked for me, someone downvoted and you shouldn't downvote just because it didn't work for you. It's apparently not a valid solution for everyone with this problem (maybe that should be noted) but it absolutely fixed the issue that's been dogging me for a couple years since I started using SPM. – Ben Stahl Jul 15 '20 at 18:48
  • Importantly, it only fixed it for Run (debug) build, I still get the errors with Archive build. This is a good step, but something is still broken somewhere in the settings (happens on multiple projects using SPM in Xcode 11). – Ben Stahl Jul 15 '20 at 19:04
0

Context: I was having a similar issue "Command CompileStoryboard failed with a nonzero exit code" after trying to build an iOS flutter app with the latest and Android studio and XCode 11.3 (new installation on Mojave). This was an existing flutter android app I had built with Android studio on Windows 10.

Tried and failed: Command+Shift+K, Command+B, Delete Derived data, SWIFT_ENABLE_BATCH_MODE = NO

Solution: - Open Finder and Navigate to project name > ios > Runner > Base.Iproj - Delete .storyboard files (main and launch) - Open terminal and run "flutter create ." - Open Xcode and run

devknight
  • 47
  • 3
0

If you are using a TabbController and a storyboard references, make sure that you have a starting point for that storyboard.

heming
  • 93
  • 10
0

For me this was to do with a constraint that I was removing at build time. Unticking Remove at build time fixed the issue, and I suspect the compiler had an issue determining the layout without it.

The error code will mention which Storyboard is causing the issue.

CristianMoisei
  • 2,071
  • 2
  • 22
  • 28
0

What we do, we just clean the project. Only cleaning the project sometimes doesn't work. After deleting the Build Folder, XCode starts indexing. Let think XCode as human :D and let it index for some time. The error will completely vanish.

Ankur Lahiry
  • 2,253
  • 1
  • 15
  • 25
0

I had files with the same name in different folders which caused this error.

cora
  • 1,916
  • 1
  • 10
  • 18
0

I have run on this error

Command CompileSwift failed with a nonzero exit code

when tried to build application(consumer) with breaking framework(producer)

If you double click on this message you see all green checks. To figure out what happened

Report Navigator -> <project_name> -> Build 
yoAlex5
  • 29,217
  • 8
  • 193
  • 205
0

it's simple you forgot to on is Initial view controller in the second storyboard that's it.

see in the image... is Initial view controller

Chandan
  • 283
  • 2
  • 6
0

If you are using CocoaPods, make sure you opened the Xcode workspace and not the project.

Ric Santos
  • 15,419
  • 6
  • 50
  • 75
0

In my case I have more than one flags in Other Swift Flags So each flag should be separated by -D

Error: enter image description here

Solution:

enter image description here

Ashvin
  • 8,227
  • 3
  • 36
  • 53
-1

In my case, a message appeared as follow.

Command CompileSwiftSources failed with a nonzero exit code.

I changed toolchain Xcode->Toolchain->Xcode 10.1

This was happened right after I update to Xcode10.1. I hope it will work.

I also attach a link more about manage toolchain.

Opsse
  • 1,851
  • 2
  • 22
  • 38
-1

I have faced similar problem. I have done

  • clean project - didn't work
  • Remove Derived Data Folder - didn't work
  • Change build system to Legacy Build Settings - didn't work
  • Restart XCode - didn't work
  • Comment some of my code, a typedef NS_ENUM in .h file and enums related works. Build the system and build success shown. Next un-comment the code and build again - Magically works
Ankur Lahiry
  • 2,253
  • 1
  • 15
  • 25