了解Xcode构建错误

Sun*_*day 6 compiler-errors missing-symbols ios mopub

解决方案:因此Mopub的说明没有提到EventKit并且EventKitUI是必需的.除了MoPub提到的框架之外,还添加了这些项目.

更新: MoPub的说明已更新.


我按照他们的指示将MoPub的完整iOS SDK集成到我的应用程序中.不幸的是,在添加代码和所需的框架后,我得到以下构建错误:

Undefined symbols for architecture i386:

  "_OBJC_CLASS_$_EKAlarm", referenced from:
      objc-class-ref in MRCalendarManager.o
  "_OBJC_CLASS_$_EKEvent", referenced from:
      objc-class-ref in MRCalendarManager.o
  "_OBJC_CLASS_$_EKEventEditViewController", referenced from:
      objc-class-ref in MPInstanceProvider.o
  "_OBJC_CLASS_$_EKEventStore", referenced from:
      objc-class-ref in MPInstanceProvider.o
      objc-class-ref in MRProperty.o
  "_OBJC_CLASS_$_EKRecurrenceDayOfWeek", referenced from:
      objc-class-ref in MRCalendarManager.o
  "_OBJC_CLASS_$_EKRecurrenceEnd", referenced from:
      objc-class-ref in MRCalendarManager.o
  "_OBJC_CLASS_$_EKRecurrenceRule", referenced from:
      objc-class-ref in MRCalendarManager.o
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Run Code Online (Sandbox Code Playgroud)

这些错误意味着什么?我想了解它们,然后弄清楚如何自己修复它们.通常,当我添加第三方广告或分析SDK时,集成过程非常简单.因此,我没有太多经验来解决这些类型的错误.

注意我尝试将MoPub完整的SDK集成到我自己的应用程序和一个简单的测试应用程序中.两者都给出了同样的错误.

Sat*_*ran 17

EventKit.framework添加到您的项目中.


Hal*_*alR 1

当您将外部库集成到应用程序中时,通常会对其进行编译以在模拟器或设备上使用。我相信您的 .a 文件已编译为在设备上工作,如果您为设备构建,您的链接器应该表现得更好。

或者,您可能根本忘记包含 .a 文件。