Reputation: 51
I can build, run, and archive the same SwiftUI project by use of previous Xcode version with no longer any problem, but the issue is always occurred since upgraded to XCode 13. In fact, it's stuck on building....and the error is shown as long as clicking stop button.
CompileSwiftSources normal arm64 com.apple.xcode.tools.swift.compiler (in target 'FML' from project 'FML')
cd /Users/jerry/Bitbucket/fightmenios
export DEVELOPER_DIR\=/Applications/Xcode.app/Contents/Developer
export SDKROOT\=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS15.0.sdk
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swiftc -incremental -module-name FML -Onone -enable-batch-mode -enforce-exclusivity\=checked @/Users/jerry/Library/Developer/Xcode/DerivedData/FML-eemcqzlghksubkadinjahagclbmc/Build/Intermediates.noindex/FML.build/Debug-iphoneos/FML.build/Objects-normal/arm64/FML.SwiftFileList -DDEBUG -Xcc -fmodule-map-file\=/Users/jerry/Library/Developer/Xcode/DerivedData/FML-eemcqzlghksubkadinjahagclbmc/Build/Intermediates.noindex/GeneratedModuleMaps-iphoneos/GoogleUtilities_UserDefaults.modulemap -Xcc -fmodule-map-file\=/Users/jerry/Library/Developer/Xcode/DerivedData/FML-eemcqzlghksubkadinjahagclbmc/Build/Intermediates.noindex/GeneratedModuleMaps-iphoneos/FirebaseInstanceID.modulemap -Xcc -fmodule-map-file\=/Users/jerry/Library/Developer/Xcode/DerivedData/FML-eemcqzlghksubkadinjahagclbmc/Build/Intermediates.noindex/GeneratedModuleMaps-iphoneos/FirebaseInstallations.modulemap -Xcc -fmodule-map-file\=/Users/jerry/Library/Developer/Xcode/DerivedData/FML-eemcqzlghksubkadinjahagclbmc/Build/Intermediates.noindex/GeneratedModuleMaps-iphoneos/FirebaseMessaging.modulemap -Xcc -fmodule-map-file\=/Users/jerry/Library/Developer/Xcode/DerivedData/FML-eemcqzlghksubkadinjahagclbmc/Build/Intermediates.noindex/GeneratedModuleMaps-iphoneos/SDWebImage.modulemap -Xcc -fmodule-map-file\=/Users/jerry/Library/Developer/Xcode/DerivedData/FML-eemcqzlghksubkadinjahagclbmc/Build/Intermediates.noindex/GeneratedModuleMaps-iphoneos/GoogleDataTransport.modulemap -Xcc -fmodule-map-file\=/Users/jerry/Library/Developer/Xcode/DerivedData/FML-eemcqzlghksubkadinjahagclbmc/Build/Intermediates.noindex/GeneratedModuleMaps-iphoneos/nanopb.modulemap -Xcc -fmodule-map-file\=/Users/jerry/Library/Developer/Xcode/DerivedData/FML-eemcqzlghksubkadinjahagclbmc/Build/Intermediates.noindex/GeneratedModuleMaps-iphoneos/GoogleUtilities_Network.modulemap -Xcc -fmodule-map-file\=/Users/jerry/Library/Developer/Xcode/DerivedData/FML-eemcqzlghksubkadinjahagclbmc/Build/Intermediates.noindex/GeneratedModuleMaps-iphoneos/GoogleUtilities_Reachability.modulemap -Xcc -fmodule-map-file\=/Users/jerry/Library/Developer/Xcode/DerivedData/FML-eemcqzlghksubkadinjahagclbmc/Build/Intermediates.noindex/GeneratedModuleMaps-iphoneos/GoogleUtilities_NSData.modulemap -Xcc -fmodule-map-file\=/Users/jerry/Library/Developer/Xcode/DerivedData/FML-eemcqzlghksubkadinjahagclbmc/Build/Intermediates.noindex/GeneratedModuleMaps-iphoneos/GoogleUtilities_Logger.modulemap -Xcc -fmodule-map-file\=/Users/jerry/Library/Developer/Xcode/DerivedData/FML-eemcqzlghksubkadinjahagclbmc/Build/Intermediates.noindex/GeneratedModuleMaps-iphoneos/GoogleUtilities_Environment.modulemap -Xcc -fmodule-map-file\=/Users/jerry/Library/Developer/Xcode/DerivedData/FML-eemcqzlghksubkadinjahagclbmc/Build/Intermediates.noindex/GeneratedModuleMaps-iphoneos/GoogleUtilities_AppDelegateSwizzler.modulemap -Xcc -fmodule-map-file\=/Users/jerry/Library/Developer/Xcode/DerivedData/FML-eemcqzlghksubkadinjahagclbmc/Build/Intermediates.noindex/GeneratedModuleMaps-iphoneos/FirebaseCore.modulemap -Xcc -fmodule-map-file\=/Users/jerry/Library/Developer/Xcode/DerivedData/FML-eemcqzlghksubkadinjahagclbmc/Build/Intermediates.noindex/GeneratedModuleMaps-iphoneos/FirebaseCoreDiagnostics.modulemap -Xcc -fmodule-map-file\=/Users/jerry/Library/Developer/Xcode/DerivedData/FML-eemcqzlghksubkadinjahagclbmc/Build/Intermediates.noindex/GeneratedModuleMaps-iphoneos/FirebaseAuth.modulemap -sdk /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS15.0.sdk -target arm64-apple-ios14.0 -g -module-cache-path /Users/jerry/Library/Developer/Xcode/DerivedData/ModuleCache.noindex -Xfrontend -serialize-debugging-options -embed-bitcode-marker -enable-testing -index-store-path /Users/jerry/Library/Developer/Xcode/DerivedData/FML-eemcqzlghksubkadinjahagclbmc/Index/DataStore -swift-version 5 -I /Users/jerry/Library/Developer/Xcode/DerivedData/FML-eemcqzlghksubkadinjahagclbmc/Build/Products/Debug-iphoneos -F /Users/jerry/Library/Developer/Xcode/DerivedData/FML-eemcqzlghksubkadinjahagclbmc/Build/Products/Debug-iphoneos/PackageFrameworks -F /Users/jerry/Library/Developer/Xcode/DerivedData/FML-eemcqzlghksubkadinjahagclbmc/Build/Products/Debug-iphoneos/PackageFrameworks -F /Users/jerry/Library/Developer/Xcode/DerivedData/FML-eemcqzlghksubkadinjahagclbmc/Build/Products/Debug-iphoneos/PackageFrameworks -F /Users/jerry/Library/Developer/Xcode/DerivedData/FML-eemcqzlghksubkadinjahagclbmc/Build/Products/Debug-iphoneos/PackageFrameworks -F /Users/jerry/Library/Developer/Xcode/DerivedData/FML-eemcqzlghksubkadinjahagclbmc/Build/Products/Debug-iphoneos/PackageFrameworks -F /Users/jerry/Library/Developer/Xcode/DerivedData/FML-eemcqzlghksubkadinjahagclbmc/Build/Products/Debug-iphoneos/PackageFrameworks -F /Users/jerry/Library/Developer/Xcode/DerivedData/FML-eemcqzlghksubkadinjahagclbmc/Build/Products/Debug-iphoneos/PackageFrameworks -F /Users/jerry/Library/Developer/Xcode/DerivedData/FML-eemcqzlghksubkadinjahagclbmc/Build/Products/Debug-iphoneos/PackageFrameworks -F /Users/jerry/Library/Developer/Xcode/DerivedData/FML-eemcqzlghksubkadinjahagclbmc/Build/Products/Debug-iphoneos/PackageFrameworks -F /Users/jerry/Library/Developer/Xcode/DerivedData/FML-eemcqzlghksubkadinjahagclbmc/Build/Products/Debug-iphoneos/PackageFrameworks -F /Users/jerry/Library/Developer/Xcode/DerivedData/FML-eemcqzlghksubkadinjahagclbmc/Build/Products/Debug-iphoneos/PackageFrameworks -F /Users/jerry/Library/Developer/Xcode/DerivedData/FML-eemcqzlghksubkadinjahagclbmc/Build/Products/Debug-iphoneos/PackageFrameworks -F /Users/jerry/Library/Developer/Xcode/DerivedData/FML-eemcqzlghksubkadinjahagclbmc/Build/Products/Debug-iphoneos/PackageFrameworks -F /Users/jerry/Library/Developer/Xcode/DerivedData/FML-eemcqzlghksubkadinjahagclbmc/Build/Products/Debug-iphoneos/PackageFrameworks -F /Users/jerry/Library/Developer/Xcode/DerivedData/FML-eemcqzlghksubkadinjahagclbmc/Build/Products/Debug-iphoneos/PackageFrameworks -F /Users/jerry/Library/Developer/Xcode/DerivedData/FML-eemcqzlghksubkadinjahagclbmc/Build/Products/Debug-iphoneos/PackageFrameworks -F /Users/jerry/Library/Developer/Xcode/DerivedData/FML-eemcqzlghksubkadinjahagclbmc/Build/Products/Debug-iphoneos/PackageFrameworks -F /Users/jerry/Library/Developer/Xcode/DerivedData/FML-eemcqzlghksubkadinjahagclbmc/Build/Products/Debug-iphoneos/PackageFrameworks -F /Users/jerry/Library/Developer/Xcode/DerivedData/FML-eemcqzlghksubkadinjahagclbmc/Build/Products/Debug-iphoneos/PackageFrameworks -F /Users/jerry/Library/Developer/Xcode/DerivedData/FML-eemcqzlghksubkadinjahagclbmc/Build/Products/Debug-iphoneos/PackageFrameworks -F /Users/jerry/Library/Developer/Xcode/DerivedData/FML-eemcqzlghksubkadinjahagclbmc/Build/Products/Debug-iphoneos/PackageFrameworks -F /Users/jerry/Library/Developer/Xcode/DerivedData/FML-eemcqzlghksubkadinjahagclbmc/Build/Products/Debug-iphoneos/PackageFrameworks -F /Users/jerry/Library/Developer/Xcode/DerivedData/FML-eemcqzlghksubkadinjahagclbmc/Build/Products/Debug-iphoneos -c -j8 -output-file-map /Users/jerry/Library/Developer/Xcode/DerivedData/FML-eemcqzlghksubkadinjahagclbmc/Build/Intermediates.noindex/FML.build/Debug-iphoneos/FML.build/Objects-normal/arm64/FML-OutputFileMap.json -parseable-output -serialize-diagnostics -emit-dependencies -emit-module -emit-module-path /Users/jerry/Library/Developer/Xcode/DerivedData/FML-eemcqzlghksubkadinjahagclbmc/Build/Intermediates.noindex/FML.build/Debug-iphoneos/FML.build/Objects-normal/arm64/FML.swiftmodule -Xcc -I/Users/jerry/Library/Developer/Xcode/DerivedData/FML-eemcqzlghksubkadinjahagclbmc/Build/Intermediates.noindex/FML.build/Debug-iphoneos/FML.build/swift-overrides.hmap -Xcc -iquote -Xcc /Users/jerry/Library/Developer/Xcode/DerivedData/FML-eemcqzlghksubkadinjahagclbmc/Build/Intermediates.noindex/FML.build/Debug-iphoneos/FML.build/FML-generated-files.hmap -Xcc -I/Users/jerry/Library/Developer/Xcode/DerivedData/FML-eemcqzlghksubkadinjahagclbmc/Build/Intermediates.noindex/FML.build/Debug-iphoneos/FML.build/FML-own-target-headers.hmap -Xcc -I/Users/jerry/Library/Developer/Xcode/DerivedData/FML-eemcqzlghksubkadinjahagclbmc/Build/Intermediates.noindex/FML.build/Debug-iphoneos/FML.build/FML-all-non-framework-target-headers.hmap -Xcc -ivfsoverlay -Xcc /Users/jerry/Library/Developer/Xcode/DerivedData/FML-eemcqzlghksubkadinjahagclbmc/Build/Intermediates.noindex/FML.build/Debug-iphoneos/FML.build/all-product-headers.yaml -Xcc -iquote -Xcc /Users/jerry/Library/Developer/Xcode/DerivedData/FML-eemcqzlghksubkadinjahagclbmc/Build/Intermediates.noindex/FML.build/Debug-iphoneos/FML.build/FML-project-headers.hmap -Xcc -I/Users/jerry/Library/Developer/Xcode/DerivedData/FML-eemcqzlghksubkadinjahagclbmc/SourcePackages/checkouts/GoogleUtilities/GoogleUtilities/UserDefaults/Public -Xcc -I/Users/jerry/Library/Developer/Xcode/DerivedData/FML-eemcqzlghksubkadinjahagclbmc/SourcePackages/checkouts/firebase-ios-sdk/Firebase/InstanceID/Public -Xcc -I/Users/jerry/Library/Developer/Xcode/DerivedData/FML-eemcqzlghksubkadinjahagclbmc/SourcePackages/checkouts/firebase-ios-sdk/FirebaseInstallations/Source/Library/Public -Xcc -I/Users/jerry/Library/Developer/Xcode/DerivedData/FML-eemcqzlghksubkadinjahagclbmc/SourcePackages/checkouts/firebase-ios-sdk/FirebaseMessaging/Sources/Public -Xcc -I/Users/jerry/Library/Developer/Xcode/DerivedData/FML-eemcqzlghksubkadinjahagclbmc/SourcePackages/checkouts/SDWebImage/SDWebImage/include -Xcc -I/Users/jerry/Library/Developer/Xcode/DerivedData/FML-eemcqzlghksubkadinjahagclbmc/SourcePackages/checkouts/GoogleDataTransport/GoogleDataTransport/GDTCORLibrary/Public -Xcc -I/Users/jerry/Library/Developer/Xcode/DerivedData/FML-eemcqzlghksubkadinjahagclbmc/SourcePackages/checkouts/nanopb/spm_headers -Xcc -I/Users/jerry/Library/Developer/Xcode/DerivedData/FML-eemcqzlghksubkadinjahagclbmc/SourcePackages/checkouts/promises/Sources/FBLPromises/include -Xcc -I/Users/jerry/Library/Developer/Xcode/DerivedData/FML-eemcqzlghksubkadinjahagclbmc/SourcePackages/checkouts/GoogleUtilities/GoogleUtilities/Network/Public -Xcc -I/Users/jerry/Library/Developer/Xcode/DerivedData/FML-eemcqzlghksubkadinjahagclbmc/SourcePackages/checkouts/GoogleUtilities/GoogleUtilities/Reachability/Public -Xcc -I/Users/jerry/Library/Developer/Xcode/DerivedData/FML-eemcqzlghksubkadinjahagclbmc/SourcePackages/checkouts/GoogleUtilities/GoogleUtilities/NSData+zlib/Public -Xcc -I/Users/jerry/Library/Developer/Xcode/DerivedData/FML-eemcqzlghksubkadinjahagclbmc/SourcePackages/checkouts/GoogleUtilities/GoogleUtilities/Logger/Public -Xcc -I/Users/jerry/Library/Developer/Xcode/DerivedData/FML-eemcqzlghksubkadinjahagclbmc/SourcePackages/checkouts/GoogleUtilities/GoogleUtilities/Environment/Public -Xcc -I/Users/jerry/Library/Developer/Xcode/DerivedData/FML-eemcqzlghksubkadinjahagclbmc/SourcePackages/checkouts/GoogleUtilities/GoogleUtilities/AppDelegateSwizzler/Public -Xcc -I/Users/jerry/Library/Developer/Xcode/DerivedData/FML-eemcqzlghksubkadinjahagclbmc/SourcePackages/checkouts/gtm-session-fetcher/Source/SwiftPackage -Xcc -I/Users/jerry/Library/Developer/Xcode/DerivedData/FML-eemcqzlghksubkadinjahagclbmc/SourcePackages/checkouts/firebase-ios-sdk/FirebaseCore/Sources/Public -Xcc -I/Users/jerry/Library/Developer/Xcode/DerivedData/FML-eemcqzlghksubkadinjahagclbmc/SourcePackages/checkouts/firebase-ios-sdk/Firebase/CoreDiagnostics/FIRCDLibrary -Xcc -I/Users/jerry/Library/Developer/Xcode/DerivedData/FML-eemcqzlghksubkadinjahagclbmc/SourcePackages/checkouts/firebase-ios-sdk/CoreOnly/Sources -Xcc -I/Users/jerry/Library/Developer/Xcode/DerivedData/FML-eemcqzlghksubkadinjahagclbmc/SourcePackages/checkouts/firebase-ios-sdk/FirebaseAuth/Sources/Public -Xcc -I/Users/jerry/Library/Developer/Xcode/DerivedData/FML-eemcqzlghksubkadinjahagclbmc/Build/Products/Debug-iphoneos/include -Xcc -I/Users/jerry/Library/Developer/Xcode/DerivedData/FML-eemcqzlghksubkadinjahagclbmc/Build/Intermediates.noindex/FML.build/Debug-iphoneos/FML.build/DerivedSources-normal/arm64 -Xcc -I/Users/jerry/Library/Developer/Xcode/DerivedData/FML-eemcqzlghksubkadinjahagclbmc/Build/Intermediates.noindex/FML.build/Debug-iphoneos/FML.build/DerivedSources/arm64 -Xcc -I/Users/jerry/Library/Developer/Xcode/DerivedData/FML-eemcqzlghksubkadinjahagclbmc/Build/Intermediates.noindex/FML.build/Debug-iphoneos/FML.build/DerivedSources -Xcc -DDEBUG\=1 -emit-objc-header -emit-objc-header-path /Users/jerry/Library/Developer/Xcode/DerivedData/FML-eemcqzlghksubkadinjahagclbmc/Build/Intermediates.noindex/FML.build/Debug-iphoneos/FML.build/Objects-normal/arm64/FML-Swift.h -working-directory /Users/jerry/Bitbucket/fightmenios
Command CompileSwiftSources failed with a nonzero exit code
Though I found Command CompileSwiftSources failed with a nonzero exit code XCode 13 however, my project doesn't use Pods at all
Upvotes: 4
Views: 3885
Reputation: 96
My issue was as Jerry Lin states. I had a complicated switch statement within my SwiftUI view which apparently was too much for the compiler to handle, causing it to get stuck during the build. Hope this helps!
Upvotes: 0
Reputation: 51
I kept the compiler running till the end (around hours), and showed error as " The compiler is unable to type-check this expression in reasonable time。". Well, I googled the error and found there're too many "if" operators, and causing too complicated for SWIFT to handle. So, changing most of "if" in a function like this https://www.hackingwithswift.com/forums/swiftui/the-compiler-is-unable-to-type-check-this-expression-in-reasonable-time/12595
Upvotes: 1
Reputation: 13240
Finally I found the solution. Source: Fixing the dreaded SwiftUI paused previews
What happened
For some reason, previews are building in a non-standard environment, and my shell script was failing. Xcode 13 however didn’t check the error code after running the script, but it continued with a compile phase, and then showed the script’s error code as an error code coming from build step. I guess this can be very confusing in lot of other cases when you have a failing pre-build step. Another issue is that I was copying the files into the project with cp, and this always changed the file modification time, leading Xcode to rebuild the project and invalidate the caches every time the build script ran. Here is what Apple said about that (FB9634311):
If a project has a shell script build phase that modifies the source, what happens is:
- Previews kicks off a build
- The build modifies the project’s source
- Previews detects the changes to the project’s source and kicks off another update
- But the build from # 1 didn’t finish, so we cancel and do it again
- Which then modifies the project’s source again…
- (and the earth melts) While the breakage is surfaced the worst with previews, it’s also silently and constantly invalidating your build cache and making incremental builds impossible for the build system, so it’s a good thing to fix in the long term.
Solution, part 1: skip ‘run script‘ phase when building previews
You can detect if the project is being built in preview mode, and handle it in script. In my case, I would assume that the changes were made in preceding build already, so I just terminated the script prematurely. And to be extra sure, I cleaned up the error code at the end of the script:
#!/usr/bin/env bash
if [ "${ENABLE_PREVIEWS}" = "YES" ]; then
echo "Previews enabled, quitting to prevent 'preview paused'."
exit 0;
fi
# ... rest of the script ...
# Success? Clear the exit code that might have been left here by a last command of the script.
exit 0
Solution, part 2: use rsync -t instead of cp
Instead of cp, which modifies the destination file’s modification timestamp, and causes Xcode to think that the file changed, I used rsync -t (it’s just a drop-in replacement: cp sourceFile destinationFile → rsync -t sourceFile destinationFile). This preserves the original file’s timestamp, so when a build step is run with a same parameters as before, the file doesn’t appear changed, and Xcode is happy reusing it’s caches.
Upvotes: 2