gpt4 book ai didi

swift - 在包含应用程序和扩展程序之间共享 Realm

转载 作者:可可西里 更新时间:2023-10-31 23:44:18 26 4
gpt4 key购买 nike

我在包含应用程序和扩展程序(自定义键盘)之间共享 Realm ,它在模拟器上运行正常,但是当我尝试在真实设备上运行这个应用程序时,出现以下错误:

Cannot load underlying module for 'RealmSwift'

这有点奇怪,这不是模拟器的问题,但没问题。让我们将 pods.framework 添加到Link Binary With Libraries 作为我的扩展。

.../Pods/Bolts/Bolts/Common/BFCancellationTokenRegistration.h:19:1: Duplicate interface definition for class 'BFCancellationTokenRegistration'

好的。让我们删除它。

Cannot load underlying module for 'RealmSwift'

不能反驳。让我们尝试将 RealmSwift.framework 添加到扩展中。

.../Pods/Bolts/Bolts/Common/BFCancellationTokenRegistration.h:19:1: Duplicate interface definition for class 'BFCancellationTokenRegistration'

好的。经过几次迭代后,我的项目文件夹中有几个 Pods.frameworkRealmSwift.framework。让我们将它们全部删除,只保留一个Pods.framework。让我们将此框架的目标成员资格更改为应用程序和扩展。

.../Pods/Bolts/Bolts/Common/BFCancellationTokenRegistration.h:19:1: Duplicate interface definition for class 'BFCancellationTokenRegistration'

Cannot load underlying module for 'RealmSwift'

在一起。

如何解决这个问题?

更新:我正在使用 Realm 和 Parse cocoapods。

最佳答案

只需在 Podfile 中创建第二个部分,让您指定应用扩展和主应用的依赖项即可。

target 'MyApp' do
pod 'RealmSwift'
end

target 'MyAppExtension' do
pod 'RealmSwift'
end

CocoaPods 在编译时设置依赖项和将它们安装到目标中做了很多额外的步骤,所以我认为简单地将 Pods.framework 复制到扩展构建步骤是行不通的.

如果你有多个对相同文件的引用,那么从你的项目中完全删除每个与 CocoaPods 相关的文件/文件夹,然后再次运行 pod install 可能是个好主意以确保一切都已正确设置。

告诉我你过得怎么样!

关于swift - 在包含应用程序和扩展程序之间共享 Realm ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34980792/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com