IOS - 程序使用IOS 6.1模拟器生成Apple Mach-O链接器错误

时间:2013-08-06 18:41:44

标签: ios xcode linker compiler-errors

嘿,所以我使用了https://gist.github.com/darkseed/1182373中找到的与弧兼容的Reachability标头,由于某种原因,我的代码现在抛出一个" Apple Mach-O链接器错误"当我为iPhone 6.1和iPad 6.1模拟器编译它时。该项目编译了我们在其上测试过的所有设备(iPad,iPhone 4,iPhone 3和iPhone 5),但出于某种原因在模拟器上失败了。它似乎与新添加的可达性.h和.m文件有关,这是编译器日志。

Ld /Users/scottlarose/Library/Developer/Xcode/DerivedData/Coffee-fvbhtkgwidvsobcpnfvptcvzzrdr/Build/Products/Debug-iphonesimulator/Coffee.app/Coffee normal i386
    cd "/Users/scottlarose/Documents/workspace/xcode workspace/iPhone workspace/Coffee"
    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 i386 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator6.1.sdk -L/Users/scottlarose/Library/Developer/Xcode/DerivedData/Coffee-fvbhtkgwidvsobcpnfvptcvzzrdr/Build/Products/Debug-iphonesimulator "-L/Users/scottlarose/Documents/workspace/xcode workspace/iPhone workspace/Coffee/XMPPFramework/XMPPFramework/Vendor/libidn" -F/Users/scottlarose/Library/Developer/Xcode/DerivedData/Coffee-fvbhtkgwidvsobcpnfvptcvzzrdr/Build/Products/Debug-iphonesimulator "-F/Users/scottlarose/Documents/workspace/xcode workspace/iPhone workspace/Coffee" -filelist /Users/scottlarose/Library/Developer/Xcode/DerivedData/Coffee-fvbhtkgwidvsobcpnfvptcvzzrdr/Build/Intermediates/Coffee.build/Debug-iphonesimulator/Coffee.build/Objects-normal/i386/Coffee.LinkFileList -Xlinker -objc_abi_version -Xlinker 2 -fobjc-arc -fobjc-link-runtime -Xlinker -no_implicit_dylibs -mios-simulator-version-min=6.0 -framework SystemConfiguration -lresolv -lxml2 -framework Security -framework CFNetwork -framework StoreKit -framework Social -framework QuartzCore -framework MobileCoreServices -lz.1.1.3 -lsqlite3 -framework CoreLocation -framework CoreGraphics -framework AdSupport -framework Accounts -framework AudioToolbox -framework UIKit -framework Foundation -framework Parse -lidn -framework SystemConfiguration -o /Users/scottlarose/Library/Developer/Xcode/DerivedData/Coffee-fvbhtkgwidvsobcpnfvptcvzzrdr/Build/Products/Debug-iphonesimulator/Coffee.app/Coffee

ld: warning: ignoring file /Users/scottlarose/Documents/workspace/xcode workspace/iPhone workspace/Coffee/SystemConfiguration.framework/SystemConfiguration, missing required architecture i386 in file /Users/scottlarose/Documents/workspace/xcode workspace/iPhone workspace/Coffee/SystemConfiguration.framework/SystemConfiguration (2 slices)
Undefined symbols for architecture i386:
  "_SCNetworkReachabilityCreateWithAddress", referenced from:
      +[Reachability reachabilityWithAddress:] in Reachability.o
  "_SCNetworkReachabilityCreateWithName", referenced from:
      +[Reachability reachabilityWithHostName:] in Reachability.o
      -[PFCommandCache init] in Parse(PFCommandCache.o)
      +[PFInternalUtils(Reachability) isParseReachable] in Parse(PFInternalUtils.o)
  "_SCNetworkReachabilityGetFlags", referenced from:
      -[Reachability connectionRequired] in Reachability.o
      -[Reachability currentReachabilityStatus] in Reachability.o
      -[PFCommandCache init] in Parse(PFCommandCache.o)
      +[PFInternalUtils(Reachability) isParseReachable] in Parse(PFInternalUtils.o)
  "_SCNetworkReachabilityScheduleWithRunLoop", referenced from:
      -[Reachability startNotifier] in Reachability.o
      -[PFCommandCache init] in Parse(PFCommandCache.o)
  "_SCNetworkReachabilitySetCallback", referenced from:
      -[Reachability startNotifier] in Reachability.o
      -[PFCommandCache init] in Parse(PFCommandCache.o)
  "_SCNetworkReachabilityUnscheduleFromRunLoop", referenced from:
      -[Reachability stopNotifier] in Reachability.o
      -[PFCommandCache dealloc] in Parse(PFCommandCache.o)
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)

2 个答案:

答案 0 :(得分:1)

由于某种原因,您的项目没有所需的框架。 可达性类需要执行SystemConfiguration.framework

答案 1 :(得分:0)

该错误通常意味着您添加了一些需要尚未添加到项目中的特定框架的代码。