SocketMobile / swift-package-capturesdk

CaptureSDK is the easiest solution for adding barcode scanning and RFID/NFC reading capability to an iOS application
Other
6 stars 1 forks source link

SwiftDecoder defines a symbol that also exists in an Apple system library. #20

Closed mortenbekditlevsen closed 4 months ago

mortenbekditlevsen commented 7 months ago

After updating to CaptureSDK 1.9.21, I never get a callback from calling openWithAppInfo. This has worked perfectly in previous versions.

I do get a runtime linker warning regarding SwiftDecoder:

objc[33066]: Class ARFrame is implemented in both /System/Library/PrivateFrameworks/ARKitCore.framework/ARKitCore (0x1fbe56b78) and /private/var/containers/Bundle/Application/62C9C0C0-2C03-4CDE-9B5C-F174ECD7811B/POS.app/Frameworks/SwiftDecoder.framework/SwiftDecoder (0x10b85f928). One of the two will be used. Which one is undefined.
Documents folder: file:///var/mobile/Containers/Data/Application/9BF50E8B-78CB-4721-A983-83947465B479/Documents/

This shows a naming ambiguity between ARKitCore and your library dependency SwiftDecoder. In Objective-C it is customary to prefix class names with a namespace of your own like 'SMSwiftDecoder' or similar.

Downgrading to 1.8.34 resolves the situation.

cyrille-socket commented 4 months ago

Hi @mortenbekditlevsen,

we have updated the SwiftDecode to the latest version and this issue has been fixed. You can download our iOS CaptureSDK version 1.9.36 from our private repository through our Developers Portal