【问题标题】:symbol(s) not found for architecture i386 for Philips Hue SDK未找到 Philips Hue SDK 架构 i386 的符号
【发布时间】:2013-04-04 16:59:46
【问题描述】:
Undefined symbols for architecture i386:
  "_OBJC_CLASS_$_PHAppDelegate", referenced from:
      objc-class-ref in main.o
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)

我所做的只是添加了 philips hue SDK 并将应用程序委托文件替换为 PHAppDelegate.h 和 .m。然后我更改了 main.m 以使用新的应用程序委托文件,当我构建时,我收到了这个错误。有什么见解吗?

【问题讨论】:

  • 您应该将 delegate.m 类添加到您的项目目标中
  • 我不明白你的意思
  • 您是否在 main.m 中导入了 PHAppDelegate 文件? #import "PHAppDelegate.h"

标签: ios objective-c sdk philips-hue


【解决方案1】:

通读您的问题,您似乎已经生成了 appdelegate 文件,例如 SampleAppDelegate.h 和 SampleAppDelegate.m。然后,您从 iOS Hue SDK 的示例应用程序中复制了 PHAppDelegate.h 和 .m。您更改了 main.m 中的引用,但您没有做的是将新的 PHAppDelegate.m 添加到 XCode 中项目的构建阶段选项卡中的编译源阶段。

这会产生您描述的链接器错误。

关于 ahwulf 的回答,Hue iOS SDK 包含模拟器和 iOS 设备代码,所以没有问题。

【讨论】:

  • 我需要像你说的那样将新的 PHAppDelagate.m 文件添加到“构建阶段”中的“编译源”中
【解决方案2】:

难道 Phillips SDK 没有模拟器二进制文件,只有 ARM,所以它只能在设备上运行?

【讨论】:

  • 不,我已经执行了他们的示例应用程序,它在模拟器上运行。另外我在设备上遇到了同样的错误
  • 它在模拟器中运行良好。我使用 SDK 已经有一段时间了,我什至还没有在真实设备上测试过它;-)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-12-13
  • 1970-01-01
  • 1970-01-01
  • 2012-12-29
相关资源
最近更新 更多