我正在尝试在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
标志。
框架
看起来有些必需的系统框架没有自动链接。
您需要链接AVFoundation、CoreData、CoreGraphics、Foundation、ImageIO、MobileCoreServices、QuartzCore、SystemConfiguration、UIKit以及弱链接StoreKit和CoreTelephony。
循序渐进:
- 在Xcode的项目导航器中选择您的项目
- 从目标列表中选择您的目标
- 选择"构建阶段"选项卡
- 展开"将二进制文件与库链接"组
- 点击+按钮,选择前面提到的框架(包括两个弱链接的框架)。您可以-单击以选择多个
- 当您回到库列表时,为这两个弱链接框架选择"可选"
然后,您应该能够成功地构建和运行。