Apple Mach-O Ошибка Xcode - действительно запутался

Я работал над внедрением инфраструктуры Kiip.me в мое приложение для iOS. Я добавил фреймворк и все остальное и связал его, но когда я запускаю его, я получаю множество ошибок в Apple Mach-O. Я также получаю предупреждение о файле, который я удалил давным-давно из Google Analytics, который он все еще ищет, даже после того, как я удалил все ссылки. Вот код ошибки, моя главная проблема - ошибки, которые говорят:

 Undefined symbols for architecture x86_64:
  "_OBJC_CLASS_$_Kiip", referenced from:
  objc-class-ref in AppDelegate.o
  objc-class-ref in CircleTableViewController.o

&

ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Но вот полный код ошибки:

Ld /Users/Coconido/Library/Developer/Xcode/DerivedData/CircleCreator-dbjnngeqphrtevdurkdpgggxapny/Build/Products/Debug-iphonesimulator/CircleCreator.app/CircleCreator нормальный x86_64 кд "/Users/Coconido/ Документы / Круг Создатель /CircleCreator" SetEnv IPHONEOS_DEPLOYMENT_TARGET 6,0 setenv PATH "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin" /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -arch x86_64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.plat /Developer/SDKs/iPhoneSimulator7.0.sdk -L/ Пользователи / Coconido / Библиотека / Разработчик / Xcode / DerivedData / CircleCreator-dbjnngeqphrtevdurkdpgggxapny / Сборка / Продукты /Debug-iphonesimulator -L/ Пользователи / Coconido / Documents / CircleClecleClecleClecle /GoogleAnalyticsServicesiOS_3.02/GoogleAnalytics/Library -L/ Пользователи / Coconido / Документы / Круг \ Создатель / Круг Создатель /Images/openkit-ios.1.0.2/OpenKitSDK -F/ Пользователи / Coconido / Библиотека / Разработчик / Xcode / DerivedData / CircleCreator-dbjnngeqphrtevdurkdpgggxapny / Сборка / Продукты /Debug-iphonesimulator -F/ Пользователи / Coconido / Documents Circle Создатель /CircleCreator/Images/openkit-ios.1.0.2/OpenKitSDK/ Поставщик -F/Applications/Xcode.app/ Содержание / Разработчик / Библиотека / Каркасы -F / Пользователи / Coconido / Документы /Circle\ Creator/CircleCreator/CircleCreator/Kiip-iOS-SDK-v2 -F/ Пользователи / Coconido / Документы /Circle\ Creator/CircleCreator/Kiip-iOS-SDK-v2 -F/ Пользователи / Coconido / Документы /Circle\ Creator/CircleCreator -filelist / Пользователи / Coconido / Библиотека / Разработчик /Xcode/DerivedData/CircleCreator-dbjnngeqphrtevdurkdpgggxapny/Build/Intermediates/CircleCreator.build/Debug-iphonesimulator/CircleCreator.build/ Объекты-нормальные /x86_64/CircleCreator.LinkFer_jb_j_fj_c_j_file_jb_c_j_c_c_c_c_c_x_c_c_7_7 -link-runtime -Xlinker -no_implicit_dylibs -mios-simulator-version-min=6.0 -framework CoreLocation -framework KiipSDK -framework PassKit -framework AdSupport -Framework CoreTelephony -Framework SystemConfiguration Основа o /Users/Coconido/Library/Developer/Xcode/DerivedData/CircleCreator-dbjnngeqphrtevdurkdpgggxapny/Build/Products/Debug-iphonesimulator/CircleCreator.app/CircleCreator

ld: warning: каталог не найден для опции '-L/Users/Coconido/Documents/Circle Creator/CircleCreator/GoogleAnalyticsServicesiOS_3.02/GoogleAnalytics/Library' ld: warning: каталог не найден для опции '-F/Users/Coconido/Documents/Circle Creator/CircleCreator/CircleCreator/Kiip-iOS-SDK-v2' ld: предупреждение: каталог не найден для опции' -F / Users / Coconido / Документы / Circle Creator / CircleCreator / Kiip-iOS-SDK-v2 'ld: предупреждение: игнорирование файла /Users/Coconido/Documents/Circle Creator/CircleCreator/KiipSDK.framework/KiipSDK, отсутствует необходимая архитектура x86_64 в файле /Users/Coconido/Documents/Circle Creator/CircleCreator/KiipSDK.framework/KiipSDK (3 слайса) не определено символы для архитектуры x86_64: "_OBJC_CLASS_$_Kiip", на которую ссылаются из: objc-class-ref в AppDelegate.o objc-class-ref в CircleTableViewController.o ld: символы не найдены для архитектуры x86_64 clang: error: сбой команды компоновщика с кодом выхода 1 (используйте -v, чтобы увидеть вызов)

2 ответа

Undefined symbols for architecture компоновщик выдает ошибки, когда он не может найти объектный файл для ссылки. Вы упомянули, что вы связали фреймворк - я бы дважды проверил, правильно ли вы связали фреймворк. (В Xcode вы можете найти список связанных двоичных файлов в файле вашего проекта> Build Phases > Link Binary with Libraries.)

Если все ваши флаги компоновщика установлены правильно и проблема не устраняется после чистой сборки, Kiip.me рамки могут не содержать код для x86_64 (то есть iPhone Simulator).

Ваш проект все еще ссылается на библиотеки для GoogleAnalytics (скорее всего, на этапах сборки ->Link Binary With Libraries). Это первая ошибка (на самом деле просто предупреждение).

Вторая ошибка, с которой вы сталкиваетесь, связана с включенным фреймворком Kiip. Он не имеет 64-битной версии фреймворка, поэтому, если ваши настройки сборки проекта позволяют создавать 64-битное приложение, он не будет компилироваться, потому что вы ссылаетесь на Kiip и не можете его использовать.

Три решения для этого:

  1. Удалите Kiip из вашего проекта.
  2. Узнайте, как собрать фреймворк Kiip для 64 бит
  3. Сделайте так, чтобы ваш проект не строил 64-битные архитектуры. (настройки сборки-> действующие архитектуры)
Другие вопросы по тегам