Apptentive: ошибка "неопределенные символы для архитектуры..." в проекте Cordova
Я пытаюсь использовать Apptentive в проекте Cordova. При создании моего проекта 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)
Есть аналогичный вопрос о Stackru, но решение не сработало для меня:/
Похоже, у меня есть все необходимые зависимости, также я добавил -lApptentiveConnect
флаг для компоновщика.
1 ответ
Решение
Похоже, что есть некоторые обязательные системные рамки, которые не связаны автоматически.
Вам необходимо установить связь с AVFoundation, CoreData, CoreGraphics, Foundation, ImageIO, MobileCoreServices, QuartzCore, SystemConfiguration, UIKit и слабыми ссылками StoreKit и CoreTelephony.
Шаг за шагом:
- Выберите ваш проект в навигаторе проекта в Xcode.
- Выберите вашу цель из списка целей.
- Выберите вкладку Build Phases.
- Разверните группу "Связать двоичные файлы с библиотеками".
- Нажмите кнопку + и выберите вышеупомянутые рамки (включая две слабосвязанные). Вы можете ⌘-нажмите, чтобы выбрать более одного.
- Когда вы вернетесь к списку библиотек, выберите "Необязательно" для двух слабосвязанных структур.
После этого вы сможете успешно строить и запускать.