使用ParsePods与Parse给我错误“重复符号_PFConfigParametersRESTKey"?

时间:2016-09-06 07:13:48

标签: duplicates cocoapods symbols parse-server

目前,我正在将我的iOS应用程序从api.parse.com迁移到我自己的服务器。在我关注的指南中,我需要使用本地解析服务器测试应用程序的功能。虽然,设置自定义Parse Server需要使用最新的Parse-SDK,但我运行的是旧版本。我试图通过CocoaPods更新我的框架。我的Podfile如下:

# Uncomment this line to define a global platform for your project
# platform :ios, '9.0'

target 'MYAPP' do
  # Uncomment this line if you're using Swift or would like to use dynamic frameworks
  # use_frameworks!

  # Pods for MYAPP
  pod 'ParseFacebookUtilsV4'
  pod 'Parse'
  #pod 'ParseTwitterUtils'
  pod 'ParseCrashReporting'
  pod 'ParseUI'

  target 'MYAPPTests' do
    inherit! :search_paths
    # Pods for testing
  end

end

当我尝试运行该应用时,出现以下错误:

duplicate symbol _PFConfigParametersRESTKey in:
    /Users/ME/Library/Developer/Xcode/DerivedData/MYAPP/Build/Products/Debug-iphoneos/Parse/libParse.a(PFConfig.o)
    /Users/ME/Library/Developer/Xcode/DerivedData/MYAPP/Build/Products/Debug-iphoneos/Parse/libParse.a(PFConfigController.o)
duplicate symbol _PFConfigParametersRESTKey in:
    /Users/ME/Library/Developer/Xcode/DerivedData/MYAPP/Build/Products/Debug-iphoneos/Parse/libParse.a(PFConfig.o)
    /Users/ME/Library/Developer/Xcode/DerivedData/MYAPP/Build/Products/Debug-iphoneos/Parse/libParse.a(PFCurrentConfigController.o)
ld: 2 duplicate symbols for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

我一直在网上寻找帮助,但似乎没有人遇到这个问题。我认为我的情况是独一无二的,因为我还没有看到有人在同一个符号上有两个重复错误,指向同一个存档(libParse.a),一个共享文件(PFConfig.o)和两个不同的文件(PFConfigController.o)和PFCurrentConfigController.o)。我已经实施了各种解决方案,这些解决方案通常可以解决这个问题,并且重复符号"错误,但我没有取得任何成功。

我做过的事情:

  1. 确保已从项目中删除所有这些框架的手动添加版本。

  2. 通过Finder / Command Line / grep / find多次上下扫描项目目录,找不到任何重复的框架。

  3. 确保我没有添加任何" import * .m"文件不小心。

  4. 检查Frameworks文件夹中的红色文件/重复项以及"链接库和库#34; "构建阶段。"

  5. 检查了我的框架,标题和其他链接器路径,它们似乎没问题。我的"其他链接标志"包含" $(继承)"和-force_load呼叫第三方" .a"用于分析的文件。

  6. 清除〜/ Library / Developer / Xcode / DerivedData以及删除的Pods /并运行" pod install"多次。

  7. 我接着调查了Parse文件中的问题。定义PFConfigParametersRESTKey的唯一位置是herehere。这似乎没问题,因为其中一个前面有extern关键字(reference here)。我试着通过使这个变量不是静态的,并尝试重命名其中一个来尝试搞乱源文件。没有任何效果。我无法弄清楚从哪里来解决这个问题..如果有人能在这里解决一些问题,我将非常感激!谢谢。

1 个答案:

答案 0 :(得分:0)

我的问题的解决方案是从链接器配置中删除-ObjC标志。出于某种原因,-ObjC不是构建设置的链接部分中的条目之一。我找到它的方法是转到Pods/Pods-MYAPP.debug.xcconfig,然后从-ObjC变量中手动删除OTHER_LDFLAGS标记。