The old way you make a framework for shipping is with lipo. You can, but it may involve more effort than you’re willing to put in right now. You might say to yourself, I can fix this! I’ll rebuild my framework using Xcode 12! That’s weird, right? It’s looking for the arm64 slice, and it found it! But because it’s categorized as for device, instead of for the simulator, the linker errors out.
When you try to link that framework under the above command, you’ll get an odd-sounding error, something like this: building for iOS Simulator, but linking in object file built for iOS, for architecture arm64 Let’s say you have a pre-built framework, ready for the simulator and any iOS device. Looks like they’re thinking ahead to ARM-based Macs, eh? If you build the same thing within the Xcode application, specifying a particular simulator model, on any Mac now shipping, you’ll instead see this: x86_64 If you build with xcodebuild, and specify the generic destination, like so: xcodebuild -project Cat.xcodeproj -scheme Cat -destination 'generic/platform=iOS Simulator'Īnd then you do this from the command line: lipo -archs Cat.app/Cat Only under certain circumstances, though.
Did you know that Xcode 12 builds both x86_64 and arm64 slices for the iOS Simulator now?