动态框架dyld:找不到符号:

3

我使用Swift创建了一个框架,并使用Cocoapods作为第三方依赖。当我将这个.framework文件发送给另一个开发者,让他在另一个项目中使用时(该项目也使用Cocoapods),他在运行时遇到了以下错误。

dyld: Symbol not found: __TFC10RealmSwift6Object20addNotificationBlockfFOS_12ObjectChangeT_CSo20RLMNotificationToken
 Referenced from: /private/var/containers/Bundle/Application/AB31A431-EBB0-484E-ABB4-844292B23588/libraryapplication.app/Frameworks/XXXSDK.framework/XXXSDK
 Expected in: /private/var/containers/Bundle/Application/AB31A431-EBB0-484E-ABB4-844292B23588/libraryapplication.app/Frameworks/RealmSwift.framework/RealmSwift
in /private/var/containers/Bundle/Application/AB31A431-EBB0-484E-ABB4-844292B23588/libraryapplication.app/Frameworks/XXXSDK.framework/XXXSDK

有什么想法或者我们如何解决这个问题?


你试过清理项目然后重新构建吗? - undefined
是的,我们已经困扰于这个问题好几天了。 - undefined
2个回答

1

最后,问题是我在Debug模式下构建框架而不是Release模式。更改后,它完美地工作。


构建在发布模式下也会发生崩溃。不确定这是否是正确的答案。 - undefined

0
尝试将框架添加到目标的“嵌入式二进制”部分,而不仅仅是“链接的框架和库”部分。这通常是在Swift中使用外部框架时出现问题的原因。

enter image description here


我非常确定他是这样的。我认为这与Cocoapods和框架的生成有关,但不知道具体是什么。 - undefined
当您不添加嵌入式二进制文件时,错误会显示为类似于找不到图像的情况,但事实并非如此。 - undefined
我相信这就是你所遇到的问题:http://stackoverflow.com/questions/35789155/dyld-symbol-not-found-tmpdcss12anygenerator - undefined
是的,但是找不到适当的解决方案 :( - undefined
也许你自己的框架中并没有包含/使用真正的框架?因为它说它在你的SDK中使用,并且期望在realm中存在,你检查了你的框架是否也包含了吗?你可以贴出来吗?还有你对realm框架的某种用法吗? - undefined

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接