Как исправить ошибку Apple Mach-O Link

Я пытаюсь заархивировать свой проект IOS в Xcode 5 для распространения и получаю сообщение об ошибке «Ошибка связи Apple Mach-O и:

Undefined symbols
for architecture arm64: "_OBJC_METACLASS_$_CDVCommandDelegateImpl",
referenced from: _OBJC_METACLASS_$_MainCommandDelegate in MainViewController.o "_CDVLocalNotification",
referenced from: -[AppDelegate application: didReceiveLocalNotification: ] in AppDelegate.o "_OBJC_CLASS_$_CDVCommandDelegateImpl",
referenced from: _OBJC_CLASS_$_MainCommandDelegate in MainViewController.o "_OBJC_CLASS_$_CDVCommandQueue",
referenced from: _OBJC_CLASS_$_MainCommandQueue in MainViewController.o "_OBJC_METACLASS_$_CDVViewController",
referenced from: _OBJC_METACLASS_$_MainViewController in MainViewController.o "_OBJC_CLASS_$_CDVViewController",
referenced from: _OBJC_CLASS_$_MainViewController in MainViewController.o "_OBJC_METACLASS_$_CDVCommandQueue",
referenced from: _OBJC_METACLASS_$_MainCommandQueue in MainViewController.o "_CDVPluginHandleOpenURLNotification",
referenced from: -[AppDelegate application: handleOpenURL: ] in AppDelegate.o
ld: symbol(s) not found
for architecture arm64
clang: error: linker command failed with exit code 1(use - v to see invocation)

Короче как это исправить?

Спасибо


person Joe Shmoe    schedule 31.03.2014    source источник


Ответы (2)


выполните следующие шаги

  1. Выберите значок вашего проекта
  2. Выберите Параметры сборки.
  3. В разделе «Архитектуры» выберите $ARCHS_STANDARD — стандартные архитектуры (armv7, armv7s, arm64).
  4. Для «Действительных архитектур» добавьте «arm64».
  5. Выберите значок CordovaLib.xcodeproj
  6. В настройках сборки для проекта (не целевого) удалите условные настройки архитектуры (наведите указатель мыши, чтобы увидеть знак минус)
  7. В разделе «Архитектуры» выберите $ARCHS_STANDARD — стандартные архитектуры (armv7, armv7s, arm64).
  8. Для «Действительных архитектур» добавьте «arm64».
  9. Перейдите к 6, но теперь сделайте это для «Цели».

если вы обнаружили какую-либо проблему, пожалуйста, дайте мне знать.

person Nitin    schedule 31.03.2014
comment
Если вы согласны с ответом, пожалуйста, проголосуйте за ответ, чтобы он помог и другим. - person Nitin; 11.08.2014

Для этой ситуации есть ряд связанных ответов, которые связаны с тем, что Apple добавила arm64 к архитектурам по умолчанию в Xcode 5.1.

Похоже, вы используете кордову, поэтому я бы начал здесь:

xcode 5.1: проблемы с архитектурой libCordova.a

person z00b    schedule 31.03.2014