1

我正在尝试在 Cordova 项目中使用 Apptentive。在构建我的 Xcode 项目时,我遇到了错误:

Undefined symbols for architecture arm64:
"_CGImageSourceCreateWithURL", referenced from:
  -[ATFileAttachment createThumbnailOfSize:] in libApptentiveConnect.a(ATFileAttachment.o)
"_kCGImageSourceCreateThumbnailWithTransform", referenced from:
  -[ATFileAttachment createThumbnailOfSize:] in libApptentiveConnect.a(ATFileAttachment.o)
"_kCGImageSourceThumbnailMaxPixelSize", referenced from:
  -[ATFileAttachment createThumbnailOfSize:] in libApptentiveConnect.a(ATFileAttachment.o)
"_OBJC_CLASS_$_QLPreviewController", referenced from:
  objc-class-ref in libApptentiveConnect.a(ATAttachmentController.o)
  objc-class-ref in libApptentiveConnect.a(ATMessageCenterViewController.o)
"_kCGImageSourceCreateThumbnailFromImageAlways", referenced from:
  -[ATFileAttachment createThumbnailOfSize:] in libApptentiveConnect.a(ATFileAttachment.o)
"_CGImageSourceCreateThumbnailAtIndex", referenced from:
  -[ATFileAttachment createThumbnailOfSize:] in libApptentiveConnect.a(ATFileAttachment.o)
"_CGImageSourceCopyTypeIdentifiers", referenced from:
  ___50+[ATFileAttachment canCreateThumbnailForMIMEType:]_block_invoke in libApptentiveConnect.a(ATFileAttachment.o)
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

StackOverflow 上有一个类似的问题,但该解决方案对我不起作用:/

看起来我拥有所有必需的依赖项,我还-lApptentiveConnect为链接器添加了标志。

构架

4

1 回答 1

2

看起来有一些必需的系统框架没有自动链接。

您需要链接 AVFoundation、CoreData、CoreGraphics、Foundation、ImageIO、MobileCoreServices、QuartzCore、SystemConfiguration、UIKit 和弱链接 StoreKit 和 CoreTelephony。

一步步:

  1. 在 Xcode 的项目导航器中选择您的项目。
  2. 从目标列表中选择您的目标。
  3. 选择构建阶段选项卡。
  4. 展开 Link Binary with Libraries 组。
  5. 单击 + 按钮并选择上述框架(包括两个弱链接的框架)。你可以⌘</kbd>-click to select more than one.
  6. 当您返回库列表时,为两个弱链接框架选择“可选”。

然后,您应该能够成功构建和运行。

于 2016-04-07T16:44:13.867 回答