【问题标题】:iOS app builds on device, but not SimulatoriOS 应用程序构建在设备上,但不是模拟器
【发布时间】:2016-09-19 01:10:29
【问题描述】:

当配置设置为“发布”时,我有一个 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)

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

【问题讨论】:

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

标签: ios xcode ios-simulator


【解决方案1】:

该错误仅表示提供 BMWAnalytics 类的代码未链接到您的可执行文件中。

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

【讨论】:

    猜你喜欢
    • 2012-12-25
    • 1970-01-01
    • 2012-09-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多