Apple Mach-O错误Xcode - 真的很困惑

时间:2013-12-06 17:46:12

标签: ios objective-c xcode compiler-errors kiip

我正在努力将Kiip.me框架实现到我的iOS应用程序中。我添加了框架和所有内容并将其链接起来,但是当我运行它时,我在Apple Mach-O中遇到了大量错误。我也收到了很久以前我从Google分析中删除的文件的警告,即使我删除了所有引用,它仍然在寻找。这是错误代码,我的主要问题是错误:

 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 normal x86_64     cd“/ Users / Coconido / Documents / Circle Creator / 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.platform/Developer/SDKs/iPhoneSimulator7。 0.sdk -L / Users / Coconido / Library / Developer / Xcode / DerivedData / CircleCreator-dbjnngeqphrtevdurkdpgggxapny / Build / Products / Debug-iphonesimulator -L / Users / Coconido / Documents / Circle \ Creator / CircleCreator / GoogleAnalyticsServicesiOS_3.02 / GoogleAnalytics /库-L / Users / Coconido / Documents / Circle \ Creator / CircleCreator / Images / openkit-ios.1.0.2 / OpenKitSDK -F / Users / Coconido / Library / Developer / Xcode / DerivedData / CircleCreator-dbjnngeqphrtevdurkdpgggxapny / Build / Products / Debug-iphonesimulator -F / Users / Coconido / Documents / Circle \ Creator / CircleCreator / Images / openkit-ios.1.0.2 / OpenKitSDK / Vendor -F / Applications / Xcode.app / Contents / Developer / Library / Frameworks -F /用户/ Coconido / Documents / Circle \ Creator / CircleCreator / CircleCreator / Kiip-iOS-SDK-v2 -F / Users / Coconido / Documents / Circle \ Cre ator / CircleCreator / Kiip-iOS-SDK-v2 -F / Users / Coconido / Documents / Circle \ Creator / CircleCreator -filelist / Users / Coconido / Library / Developer / Xcode / DerivedData / CircleCreator-dbjnngeqphrtevdurkdpgggxapny / Build / Intermediates / CircleCreator。 build / Debug-iphonesimulator / CircleCreator.build / Objects-normal / x86_64 / CircleCreator.LinkFileList -Xlinker -objc_abi_version -Xlinker 2 -fobjc-arc -fobjc-link-runtime -Xlinker -no_implicit_dylibs -mios-simulator-version-min = 6.0 -framework CoreLocation -framework KiipSDK -framework PassKit -framework AdSupport -framework CoreTelephony -framework SystemConfiguration -framework MobileCoreServices -framework Social -framework Accounts -framework QuartzCore -framework Security -lsqlite3 -framework StoreKit -framework CoreData -lz -framework MessageUI -framework iAd - 框架AVFoundation -framework CoreGraphics -framework UIKit -framework Foundation -Xlinker -dependency_info -Xlinker / Users / Coconido / Library / Developer / Xcode / DerivedData / CircleCreator-dbjnngeqphrtev durkdpgggxapny / Build / Intermediates / CircleCreator.build / Debug-iphonesimulator / CircleCreator.build / Objects-normal / x86_64 / CircleCreator_dependency_info.dat -o / Users / Coconido / Library / Developer / Xcode / DerivedData / CircleCreator-dbjnngeqphrtevdurkdpgggxapny / Build / Products /调试iphonesimulator / CircleCreator.app / CircleCreator

ld:警告:找不到选项'-L / Users / Coconido / Documents / Circle Creator / CircleCreator / GoogleAnalyticsServicesiOS_3.02 / GoogleAnalytics / Library'的目录 ld:警告:找不到选项'-F / Users / Coconido / Documents / Circle Creator / CircleCreator / CircleCreator / Kiip-iOS-SDK-v2'的目录 ld:警告:找不到选项'-F / Users / Coconido / Documents / Circle Creator / CircleCreator / Kiip-iOS-SDK-v2'的目录 ld:警告:忽略文件/ Users / Coconido / Documents / Circle Creator / CircleCreator / KiipSDK.framework / KiipSDK,缺少文件/ Users / Coconido / Documents / Circle Creator / CircleCreator / KiipSDK.framework / KiipSDK中所需的架构x86_64(3个切片) ) 架构x86_64的未定义符号:   “_OBJC_CLASS _ $ _ Kiip”,引自:       AppDelegate.o中的objc-class-ref       CircleTableViewController.o中的objc-class-ref ld:找不到架构x86_64的符号 clang:错误:链接器命令失败,退出代码为1(使用-v查看调用)

2 个答案:

答案 0 :(得分:0)

您的项目仍在引用GoogleAnalytics的图书馆(很可能是在构建阶段 - > Link Binary With Libraries)。这是第一个错误(实际上只是一个警告)。

您正在处理的第二个错误是包含的框架Kiip。它没有64位版本的框架,所以如果您的项目构建设置允许构建64位应用程序,它将无法编译,因为您引用Kiip并且无法使用它。

三个解决方案:

  1. 从项目中删除Kiip。
  2. 了解如何为64位
  3. 构建Kiip框架
  4. 使您的项目不构建64位体系结构。 (构建设置 - >有效架构)

答案 1 :(得分:0)

当链接器找不到要链接的目标文件时,链接会抛出

Undefined symbols for architecture个错误。你提到你已经链接了框架 - 我会仔细检查你正确链接框架。 (在Xcode中,您可以在项目的文件> Build Phases> Link Binary with Libraries下找到链接二进制文件的列表。)

如果所有链接器标志都已正确设置且问题在干净构建后仍然存在,则Kiip.me框架可能不包含x86_64的代码(即iPhone模拟器)。