Our app uses CoreNFC to scan NFC tags or you can use QR if NFC is not supported. This worked pretty well and we were able to run the app in the simulator for (ui) testing purposes.
Until Xcode12 / iOS14 GM builds. In iOS13 (or lower) we wouldn't have any issues running it on a simulator.
But in Xcode12 running it on a iOS14 simulator iPhone11 we would get the following:
That the simulator crashes makes sense to me, since the simulator can't scan NFC tags, but this is what I've done:
Running it from Xcode12 on an iOS13 simulator 'device' works perfectly. So I can't seem to figure out what is causing this behavior
Until Xcode12 / iOS14 GM builds. In iOS13 (or lower) we wouldn't have any issues running it on a simulator.
But in Xcode12 running it on a iOS14 simulator iPhone11 we would get the following:
Code Block dyld: launch, loading dependent libraries DYLD_SHARED_CACHE_DIR=/Users/***/Library/Developer/CoreSimulator/Caches/dyld/19G73/com.apple.CoreSimulator.SimRuntime.iOS-14-0.18A372 DYLD_ROOT_PATH=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot DYLD_LIBRARY_PATH=/Users/***/Library/Developer/Xcode/DerivedData/BeeSafe-awnlestrbvesqqbynrhmluzhbcsc/Build/Products/Debug-iphonesimulator:/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/usr/lib/system/introspection DYLD_INSERT_LIBRARIES=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/usr/lib/libBacktraceRecording.dylib:/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSi dyld: Library not loaded: /usr/lib/libnfshared.dylib Referenced from: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/System/Library/Frameworks/CoreNFC.framework/CoreNFC Reason: no suitable image found. Did find: /usr/lib/libnfshared.dylib: mach-o, but not built for platform iOS-sim
That the simulator crashes makes sense to me, since the simulator can't scan NFC tags, but this is what I've done:
I already linked to the CoreNFC framework and made it optional.
Put #if canImport(CoreNFC) around import CoreNFC and it's underlying NFC code.
Cleaning the build folder and deleting derived data.
Created an empty Xcode12 project: https://github.com/basvankuijck/CoreNFCCrashProject, same result.
Removed all the listed simulators and re-added one
Added -weak_framework "CoreNFC" to the Other Linker Flags build setting
Running it from Xcode12 on an iOS13 simulator 'device' works perfectly. So I can't seem to figure out what is causing this behavior