Cross-compiling for iOS - Part 1: Build a SwiftUI App from Linux
Disclaimer:
The information provided in this guide is for educational and informational purposes only. It is not intended to be a substitute for professional advice. Always seek the advice of a qualified provider with any questions you may have regarding this process. Importantly, before proceeding, ensure that you read and understand the Xcode and Apple SDKs Agreement. Misuse of the tools and techniques described here could violate the agreement and may have legal consequences.
How To Fix 'LLDB: Couldn't IRGen Expression' Without Source Code
Overview error: virtual filesystem overlay file '/Users/user/Library/Developer/Xcode/DerivedData/SDK-abcdefghijklmnopqrstuvwxyzab/Build/Intermediates.noindex/SDK.build/Release-iphonesimulator/SDK.build/all-product-headers.yaml' not found error: couldn't IRGen expression. Please check the above error messages for possible root causes. If you’ve been following Peter Steinberger’s journey on resolving the “LLDB: Couldn’t IRGen Expression” and related issues, you’ve likely already read his blog post explaining why this occurs. Matt Robinson also authored a comprehensive article on dealing with the same issue when building your frameworks with Carthage.
Swift Serialize Debugging Options
Overview Initially, this was an undocumented Swift frontend flag. Neither swift -help nor swift -help-hidden showed this flag (as of Xcode 12.0 beta). However, it’s now documented in
$ swift -frontend -help -no-serialize-debugging-options Never serialize options for debugging (default: only for apps) -serialize-debugging-options Always serialize options for debugging (default: only for apps) In Xcode, the equivalent build setting is SWIFT_SERIALIZE_DEBUGGING_OPTIONS. Below is the relevant information found in the Swift.xcspec file bundled with Xcode.
Contact
This blog doesn’t support posting comments—if you have something you’d like to comment, please feel free to reach out to me on Twitter.