I recently bought a new phone and update xcode version to the latest. An app that I have been developing and worked perfectly fine would not be runned. I kept getting errors similar to below. Is that anything wrong with my setting or something?
Class _TtC6SQLite6Backup is implemented in both /System/Library/PrivateFrameworks/LinkServices.framework/LinkServices (0x1f16db218) and /private/var/containers/Bundle/Application/E2xxxx2xxA-DF7B-xx-***-xxxxxxxx/xxxx.app/xxxxx.debug.dylib (0xxxxxx3d0). One of the two will be used. Which one is undefined.
This message indicates that your process has two Objective-C classes with the name _TtC6SQLite6Backup
. This is not good. Objective-C classes fall into a flat namespace, so if you have two with the same name then all bets are off as to what’ll happen.
Furthermore, it looks like these classes were actually made with Swift:
% swift demangle
_TtC6SQLite6Backup
SQLite.Backup
^C
The message indicates that one of them came from Apple’s LinkServices (an internal framework) and one of them came from xxxxx.debug.dylib
, which is presumably your app with the name redacted. A quick ’net search suggests that the source of this code is the SQLite.swift project. It seems that LinkServices is using it internally without changing the name )-: See here for more.
I agree with the conclusion from that thread: This is a bug in LinkServices (r. 120614682). If I’m reading the bug report correctly, it should be fixed in the latest beta releases that we’re currently seeding (like macOS 15.2b1, aka 24C5057p).
The workaround for right now is for you to rename the module at your end.
Share and Enjoy
—
Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"