Recently, I have purchased a M1 Mac mini and have a fairly large project with in house created SPM dependencies. Our dependencies are dynamic frameworks, and currently, they aren't very complex.
Our project has the following settings where:
Build Active Architectures = true for all configurations other than Release
And I've been messing around with the Excluded Architectures option to remove arm64 from simulator builds.
With this being noted, although we have in-house SPM SDKs (non binary deliveries), it would seem our project is flagging up Could not find module 'XXXX' for target 'x8664-apple-ios-simulator'; found: arm64, arm64-ios-simulator where derived data is showing arm64 is being resolved for a standard simulator build (iPhone 12 mini 14.3) via Xcode 12.2 and 12.3. Does anyone know why this is happening and is there a configuration that SPM is not respecting regarding Valid architectures or building for active architectures causing it to evaluate an incorrect arch type. Everything does build correctly when evaluated against Any iOS device (as this does not take x8664 as an arch type) and evaluates correctly on non M1 Macs for the remaining sim arch types.
Edit:
It's fairly easy to repro this situation with the following steps:
Create new Xcode project (UIKit + Swift)
Create Embedded dynamic framework bundle
Create Swift Package (dynamic)
Link Swift Package to Embedded dynamic framework bundle (make sure it’s not embedded as we only want it linked)
Embed dynamic framework bundle to main project
Embed dynamic Swift Package framework to main project
Add flag to “Exclude Architectures” for “Any iOS Simulator SDK” to exclude arm64 architectures (ensuring any existing FAT binaries do not have an arm64 slice running in the simulator).
Build project.
Post
Replies
Boosts
Views
Activity
Whelp, I learned a lovely lesson about Lacie today. Their customer driver extensions on MacOS are ultimately as bad as I figured they would be and it seems to have bitten them in the ***. It seems their current drivers aren't compatible with M1 Mac minis (and I haven't seen a single post/article mentioning this). I was planning on migrating my Plex server from an i3 Mac mini to an M1 based device, but now I have to reshuffle my setup with another one of my computers due to lack of driver compatibility (and no advertised lack of support). I'm seriously considering getting rid of my Lacie 6Big at this point and swapping it out for an OWC thunderbolt 3 rack supported DAC. -\_-. I'm hoping other people just read this because honestly, I have nothing but nasty remarks towards Lacie in this regarding considering their #1 use for their RAIDs involves the people who will be buying M1 Macs. Does anyone have a workaround for this?