Xcode 15,iOS 17 - objc[3422]:Class _TtC6SQLite在两个中都实现...两个中的一个将被使用,哪一个未定义

58wvjzkj  于 2023-11-21  发布在  SQLite
关注(0)|答案(1)|浏览(363)

在我的应用程序中,我使用stephencelis/SQLite.swift
在更新到Xcode 15并发布我的应用程序后,没有做任何更改。4000+的2个用户报告说,他们无法进入他们的数据库。数据库数据输入代码没有改变,在所有测试设备和iOS范围内都可以正常工作,对于其余用户也是如此,但到目前为止,有2个用户更新到新的应用程序版本,其中只有颜色变化;没有实际的代码更改不能添加到数据库,我不能调试为什么。
唯一的区别是,我使用Xcode 15来发布应用程序,并在运行代码时注意到一个新的警告:

objc[3422]: Class _TtC6SQLite6Backup is implemented in both /System/Library/PrivateFrameworks/LinkServices.framework/LinkServices (0x1f1147048) and /private/var/containers/Bundle/Application/XX-XX-XX/App.app/Frameworks/SQLite.framework/SQLite (0x1063a1c70). One of the two will be used. Which one is undefined.
objc[3422]: Class _TtC6SQLite10Connection is implemented in both /System/Library/PrivateFrameworks/LinkServices.framework/LinkServices (0x1f03485f8) and /private/var/containers/Bundle/Application/XX-XX-XX/App.app/Frameworks/SQLite.framework/SQLite (0x1063a2228). One of the two will be used. Which one is undefined.
objc[3422]: Class _TtC6SQLite13DateFunctions is implemented in both /System/Library/PrivateFrameworks/LinkServices.framework/LinkServices (0x1f1146fb0) and /private/var/containers/Bundle/Application/XX-XX-XX/App.app/Frameworks/SQLite.framework/SQLite (0x1063a23d8). One of the two will be used. Which one is undefined.
objc[3422]: Class _TtC6SQLite12TableBuilder is implemented in both /System/Library/PrivateFrameworks/LinkServices.framework/LinkServices (0x1f1146e10) and /private/var/containers/Bundle/Application/XX-XX-XX/App.app/Frameworks/SQLite.framework/SQLite (0x1063a2fb8). One of the two will be used. Which one is undefined.
objc[3422]: Class _TtC6SQLite9Statement is implemented in both /System/Library/PrivateFrameworks/LinkServices.framework/LinkServices (0x1f03486c8) and /private/var/containers/Bundle/Application/XX-XX-XX/App.app/Frameworks/SQLite.framework/SQLite (0x1063a36c8). One of the two will be used. Which one is undefined.

字符串
这是我能看到的唯一区别,这会导致很少用户的问题吗?如果是这样,使用正确的库的正确修复方法是什么?除了使用新的Xcode 15发布应用程序外,我没有做任何更改。

sulc1iza

sulc1iza1#

我已经为此创建了一个问题。似乎苹果内部从iOS 17开始就使用这个开源包,所以你把它嵌入了两个不同的二进制文件中解决这个问题的一个方法是苹果分叉这个库,然后改变模块的名称,这样它就不会冲突,但这将需要操作系统更新。要么他们这样做,要么你将不得不这样做。这可能会导致运行时故障,如果苹果使用不同的版本与不同的ABI或已知的错误。
https://github.com/stephencelis/SQLite.swift/issues/1226

相关问题