【问题标题】:Apple Mach-O linker error: Undefined symbols for architecture armv7Apple Mach-O 链接器错误:架构 armv7 的未定义符号
【发布时间】:2014-04-29 00:12:45
【问题描述】:

我对编码世界还很陌生,但我很快就掌握了一些东西。然而,这个问题让我打败了——我试过浏览几个论坛来找出问题所在,但到目前为止还没有骰子。当我尝试在我的设备上运行应用程序时,我不断收到两个链接器错误 - 它在模拟器中运行良好,没有错误。这是日志:

undefined symbols for architecture armv7:
  "_NewBase64Encode", referenced from:
      -[NSData(Base64) base64EncodedString] in nsdata_and_base64.o
  "_NewBase64Decode", referenced from:
  +[NSData(Base64) dataFromBase64String:] in nsdata_and_base64.o
  _checkReceiptSecurity in verification_controller.o
ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)

有人知道问题可能是什么吗?非常感谢您的帮助..

谢谢!!

【问题讨论】:

  • 检查您是否在 Build Phases 的 Link Binary With Libraries 部分添加了正确的库。

标签: ios xcode linker


【解决方案1】:

您正在使用为模拟器编译的 lib(i386 架构)。
如果您有 iOS 设备的源代码,则需要查找 lib 或构建它。
顺便说一句:NSData 支持 base64 编码:
- (NSString *)base64Encoding 可用性:iOS 4 - iOS 7;
- (NSString *)base64EncodedStringWithOptions:(NSDataBase64EncodingOptions)options 可用性:iOS 7 及更高版本。
可能你根本不需要使用外部库。

【讨论】:

  • 是的!原来我正在使用我不需要的框架。因此,也不需要几行代码。所以,我删除了库和代码,它工作了!谢谢维斯普特!
猜你喜欢
  • 2014-07-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-12-12
  • 1970-01-01
  • 2012-04-13
  • 2013-09-11
相关资源
最近更新 更多