【问题标题】:IOS - Program Produces a Apple Mach-O Linker Error With IOS 6.1 Simulator [duplicate]IOS-程序使用IOS 6.1模拟器产生Apple Mach-O链接器错误[重复]
【发布时间】:2013-08-06 18:41:44
【问题描述】:

嘿,所以我正在使用https://gist.github.com/darkseed/1182373 此处找到的 arc 兼容的可达性标头,由于某种原因,当我为 iPhone 6.1 和 iPad 6.1 模拟器编译代码时,我的代码现在会引发“Apple Mach-O 链接器错误”。该项目在我们测试过的所有设备(iPad、iPhone 4、iPhone 3s 和 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)

【问题讨论】:

    标签: ios xcode linker compiler-errors


    【解决方案1】:

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

    【讨论】:

    • 这不是框架问题 ;)
    • 我想通了,但谢谢你的建议
    【解决方案2】:

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

    【讨论】:

    • 我想通了,但感谢您的尝试
    • 愿意分享它是什么,或者当你有答案时,你不想帮助别人?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-05-15
    • 1970-01-01
    • 1970-01-01
    • 2014-11-04
    • 1970-01-01
    • 2014-01-16
    • 1970-01-01
    相关资源
    最近更新 更多