我的SwiftUI应用程序使用了第三方框架Foo
(用objc编写),该框架内置于XCFramework中。我可以在iOS模拟器和连接到Mac的iPhone中构建和运行这个应用程序。但是当我执行“Product”->“Archive”时,它失败了,错误是:Cannot find 'Foo' in scope
个
在任何使用Foo.bar()
之类的东西的地方都会报告该错误。
为什么当模拟器和真实的设备都与框架一起工作时,Archive会失败?Archive是否尝试为一些额外的平台构建应用程序?
XCode版本:14.2
我在导入框架时使用了“Embed & Sign”。
1条答案
按热度按时间nzk0hqpo1#
我找到了根本原因:在目标的
Build Setting
中,我错过了为Release
设置Objective-C Bridging Header
。构建对模拟器和设备都有效的原因是它们都在调试模式下运行应用程序,而不是在发布模式下运行。但存档需要在发布模式下构建。
现在,我已经在版本模式的构建设置中添加了桥接头,问题就解决了。