实现教程后出现奇怪的错误"Introduction to In-App Purchases"



我正在尝试实现应用内购买,我遵循了这个伟大的教程应用内购买介绍

当我清理项目时,它没有显示错误,但当我构建项目时,会出现以下错误:

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

我尝试删除这些文件并再次添加,但没有成功。你知道吗?

它们是链接器错误,表明您使用了未构建到最终二进制文件中的类(而且它们不在任何框架中等)。

对于每个缺少类的类,找到定义它的.m文件(例如,"Reachability"可能在Reachability.m中定义),然后检查:

  • 你的应用程序目标中是否确实包含Reachability.m?

  • 在目标的"编译源代码"构建阶段,您是否确实拥有Reachability.m?

  • 正如下面提到的@Sohaib,是否选中了正确的会员复选框?在右侧面板的属性检查器中检查此项,在最左边的选项卡(看起来像一张纸的选项卡)中有一个名为"目标成员资格"的部分,它显示文件正在编译到哪个目标。我总是不小心错误地将文件添加到我的单元测试目标中:)

最新更新