ParseCrashReporting iOS 链接器错误

ParseCrashReporting iOS linker error

我试图启用解析崩溃报告。但是编译时总是有链接器错误。我已经在其他线程中尝试过该方法,例如添加 libstdc++6.0.9 而不是 libstdc++6.

错误信息是:

Ld /Users/Peter/Library/Developer/Xcode/DerivedData/Foodmate-bmbrourdyfbrskdmdpojqnvszznk/Build/Products/Debug-iphonesimulator/Foodmate.app/Foodmate normal x86_64
cd /Users/Peter/Dropbox/work/foodmate/iOS/HomeMade
export IPHONEOS_DEPLOYMENT_TARGET=7.0
export 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/iPhoneSimulator8.1.sdk -L/Users/Peter/Library/Developer/Xcode/DerivedData/Foodmate-bmbrourdyfbrskdmdpojqnvszznk/Build/Products/Debug-iphonesimulator -F/Users/Peter/Library/Developer/Xcode/DerivedData/Foodmate-bmbrourdyfbrskdmdpojqnvszznk/Build/Products/Debug-iphonesimulator -F/Users/Peter/Dropbox/work/foodmate/iOS/HomeMade -F/Users/Peter/Dropbox/work/foodmate/iOS/HomeMade/HomeMade -F/Users/Peter/Desktop/Foodmate/iOS/lib -F/Users/Peter/Dropbox/work/foodmate/iOS/HomeMade/HomeMade/ActionSheetPicker-3.0-master/ObjC-Example -F/Users/Peter/Dropbox/work/foodmate/iOS/lib -F/Users/Peter/Dropbox/work/foodmate/iOS/HomeMade/HomeMade/parse -filelist /Users/Peter/Library/Developer/Xcode/DerivedData/Foodmate-bmbrourdyfbrskdmdpojqnvszznk/Build/Intermediates/Foodmate.build/Debug-iphonesimulator/Foodmate.build/Objects-normal/x86_64/Foodmate.LinkFileList -Xlinker -rpath -Xlinker @executable_path/Frameworks -Xlinker -objc_abi_version -Xlinker 2 -fobjc-arc -fobjc-link-runtime -Xlinker -no_implicit_dylibs -mios-simulator-version-min=7.0 -lsqlite3 -lstdc++.6 -framework ParseCrashReporting -framework StoreKit -framework CoreLocation -framework ParseFacebookUtils /Users/Peter/Library/Developer/Xcode/DerivedData/Foodmate-bmbrourdyfbrskdmdpojqnvszznk/Build/Products/Debug-iphonesimulator/libGPUImage.a -framework SystemConfiguration -framework Parse -framework ParseUI -framework Social -framework Security -framework QuartzCore -framework MobileCoreServices -lz -framework ParseFacebookUtilsV4 -framework CoreGraphics -framework CFNetwork -framework AudioToolbox -framework Accounts -framework Bolts -Xlinker -dependency_info -Xlinker /Users/Peter/Library/Developer/Xcode/DerivedData/Foodmate-bmbrourdyfbrskdmdpojqnvszznk/Build/Intermediates/Foodmate.build/Debug-iphonesimulator/Foodmate.build/Objects-normal/x86_64/Foodmate_dependency_info.dat -o /Users/Peter/Library/Developer/Xcode/DerivedData/Foodmate-bmbrourdyfbrskdmdpojqnvszznk/Build/Products/Debug-iphonesimulator/Foodmate.app/Foodmate

Undefined symbols for architecture x86_64:

"_OBJC_CLASS_$_PFDevice", referenced from:
  objc-class-ref in ParseCrashReporting(PFCrashReporter.o)

"_OBJC_CLASS_$_PFLogger", referenced from:
  objc-class-ref in ParseCrashReporting(ParseCrashReporting.o)
  objc-class-ref in ParseCrashReporting(PFCrashReporter.o)
  objc-class-ref in ParseCrashReporting(PFCrashReportingAnalytics.o)

"_OBJC_CLASS_$_PFRESTAnalyticsCommand", referenced from:
  objc-class-ref in ParseCrashReporting(PFCrashReportingAnalytics.o)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

这些是否位于未链接到应用程序的另一个框架或静态库中?

  • PFDevice
  • PFLogger
  • PFRESTAAnalytics 命令

link 错误意味着您正在使用 PFDevice、PFLogger 和 PFRESTAnalyticsCommand classes,但您没有 linking 在任何对象文件、库或框架中提供那些 classes 的实现。您需要在构建时针对这些添加 link。如果使用 Xcode、select 提供 class 的框架并选中复选框以将其添加到您的目标(或将其拖动到您的 link 阶段)。如果您已经 link 反对它,该消息也可能意味着您的框架没有 x86_64 切片。

将最新版本 Parse.framework、ParseCrashReporting.framework 和 Bolts.framework 重新添加到您的项目中。

我解决了这个问题。 问题其实是buildPath中的库路径不对导致的。所以 xcode 首先搜索路径并使用 Parse.framework

的顺序版本