【问题标题】:use of unresolved identifier after cocoapods installation安装 cocoapods 后使用未解析的标识符
【发布时间】:2015-07-28 06:15:59
【问题描述】:

我有一个没有 cocoapods 的 swift 项目,它使用 Parse SDK 和 Facebook SDK(用于登录和后端使用)。

创建 Podfile 以使用 GoogleMaps SDK(用于地点自动完成建议)时,我收到以下错误:Use of unresolved identifier 'PFFacebookUtils'。 Podfile 如下:

source 'https://github.com/CocoaPods/Specs.git'
xcodeproj './PROJECT_NAME.xcodeproj'

platform :ios, '8.1'
pod 'GoogleMaps'

包含链接的 Parse 和 Facebook 框架(在 cocoapods 创建工作区之前一切正常)。有任何想法吗?谢谢!

更新: 我不知道这是否有意义,但如果我在无法识别 PFFacebookUtils 的文件中使用import ParseFacebookUtilsV4,它会识别它,但现在我收到链接器错误(显然没有找到任何 Parse OBJC 类):

Undefined symbols for architecture x86_64:
  "_OBJC_CLASS_$_PFAnalytics"
       __TMaCSo11PFAnalytics in AppDelegate.o
  "_OBJC_CLASS_$_PFCloud", referenced from:
     ...

【问题讨论】:

  • 尽管我不想这么说:删除 DerivedData 文件夹在更新一些 Cocoapods 后修复了我的构建问题。

标签: ios swift parse-platform cocoapods parsefacebookutils


【解决方案1】:

再次安装 pod:

-pod install

然后做一个检查清单:

  1. 库搜索路径。在我的项目中,图书馆搜索路径是空的。所以我相信 cocoapods 不会修改它。因此,如果有的话,请从那里删除旧的库链接。

  2. 标题搜索路径

  1. 其他链接器标志。 (删除旧的)

  1. 构建阶段 -> 将二进制文件与库链接。 (删除旧的)

确保这些指向 Pod 项目中的新库。而不是旧的。

我的 podfile 与关联的设置相匹配:

目标 'SomeName' 做

pod 'RadioButton'
pod 'AFNetworking', '~> 2.5'
pod 'SSZipArchive', '~> 0.2.1'
pod 'SDWebImage', '~> 3.7'

结束

target 'SomeNameTests' 做

结束

【讨论】:

  • 它没有用,但感谢您的建议 :) 。我在 Podfile 中声明的唯一框架是 GoogleMaps,它仍然导致 Parse 框架出现问题,该框架被手动链接为静态库。我最终从我的项目中完全删除了 cocoapods,并在下载后手动嵌入了 GoogleMaps 框架(来自这里的整个 podspecs:github.com/CocoaPods/Specs
  • 很好,但我希望这不会让你害怕在其他项目中再次使用 cocoapods。因为,它真的很有帮助,可以节省很多时间和精力。
  • 我确实喜欢 cocoapods,问题是在处理需要与 iOS 7.0+ 兼容的 Swift 项目时,因为 Swift 还不支持 use_frameworks! 一切都应该顺利进行,但对于这种特定情况,这不是一个选项:,(
  • 嗨@hasan83,你在上面对header search paths说了什么?我应该删除它们还是什么?谢谢
  • 这个答案是专门针对这个特定问题的。如果你想使用 cocoapods,请保留它们。如果您想停止使用可可豆荚,请将其移除
【解决方案2】:

您是否在桥接头中导入了所需的文件:

#import <Parse/Parse.h> 
#import <ParseFacebookUtils/PFFacebookUtils.h>

【讨论】:

  • 是的,其实我有#import &lt;ParseFacebookUtilsV4/PFFacebookUtils.h&gt; #import &lt;Parse/Parse.h&gt;
  • 我将它们作为链接库,它们正在工作......但现在 cocoapods 破坏了它们,我已将它们添加到 Podfile 并将它们作为链接库删除,但 XCode 仍然无法识别PFFacebookUtils :/
【解决方案3】:

我做了一个清理然后构建,一切都清理干净了

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-10-10
    • 1970-01-01
    • 1970-01-01
    • 2018-03-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多