iOS应用程序构建在设备上,但不是模拟器

iOS应用程序构建在设备上,但不是模拟器,ios,xcode,ios-simulator,Ios,Xcode,Ios Simulator,我有一个iOS应用程序,当配置设置为“发布”时,它无法在模拟器上构建“调试”构建良好。此外,“发布”和“调试”配置都构建在真实设备上。在Xcode中,错误是: Undefined symbols for architecture x86_64: "_OBJC_CLASS_$_BMWAnalytics", referenced from: objc-class-ref in BMWManager.o ld: symbol(s) not found for architecture x86_64

我有一个iOS应用程序,当配置设置为“发布”时,它无法在模拟器上构建“调试”构建良好。此外,“发布”和“调试”配置都构建在真实设备上。在Xcode中,错误是:

Undefined symbols for architecture x86_64:
"_OBJC_CLASS_$_BMWAnalytics", referenced from:
 objc-class-ref in BMWManager.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

我尝试过重置模拟器、清理项目和删除派生数据。导致此错误的原因是什么?如何修复?发现了一个类似的问题,但似乎没有包括“调试”和“发布”之间的差异。

该错误只是意味着提供BMWAnalytics类的代码没有链接到可执行文件中


您需要确保BMWAnalytics类的@implementation是由目标(或目标链接所针对的库)中包含的文件提供的。

该错误只意味着提供BMWAnalytics类的代码没有链接到您的可执行文件中


您需要确保BMWAnalytics类的@implementation是由您的目标(或您的目标链接所针对的库)中包含的文件提供的。

出于好奇,您为什么要针对模拟器进行发布构建?那没有意义。使用调试版本进行一些基本测试,但是真正的发布版本应该在真正的设备上进行测试。出于好奇,你为什么要在模拟器上进行发布版本?那没有意义。使用调试版本进行一些基本测试,但真正的发布版本应该在真正的设备上进行测试。