iOS 静态库项目的 CocoaPods 错误 (PubNub)

CocoaPods Error (PubNub) with iOS Static Library Project

我正在研究 iOS 静态库项目 (9.0)。我决定将 PubNub 包含到我的静态库项目中。我遵循的步骤;

  1. 我已经下载并构建了 PubNub 示例项目。
  2. 我已将框架文件(CocoaLumberjack 和 PubNub)复制到我的 Supporting Files 文件夹中。
  3. 我已经关闭 xCode,并在项目目录中创建了 PodFile。
  4. PodFile内容如下:

    平台:ios, "9.0"

    来源'https://github.com/CocoaPods/Specs.git'

    use_frameworks!

    pod "PubNub", "~> 4.0"

  5. 安装后我收到调试和发布警告说;

[!] xxxIOSFramework [Debug] 目标覆盖了“Pods/Target 支持 Files/Pods/Pods.debug.xcconfig”中定义的 OTHER_LDFLAGS 构建设置。这可能会导致 CocoaPods 安装出现问题

  1. 我打开了 .xcworkspace 并在树中看到了我的项目和 Pods 项目。
  2. 此时构建报错ld: framework not found Pods

在我重新搜索之后,大多数人说删除以红色突出显示的 Pods.framework,我确实这样做了。

  1. 删除 Pods.framework 后,构建继续给出错误,例如; ld: -rpath can only be used when creating a dynamic final linked image
  2. 我搬到了Target > Build Settings > Other Linker Flags。加了ObjC,我也加了$(inherited),还是报错。

有人知道在将 Cocoapods 添加到 iOS 静态库项目时出现 -rpath can only be used when creating a dynamic final linked image 错误吗?如果您需要,我可以提供更多信息。

谢谢。

入门 描述了几种集成方式,从你的问题来看,你似乎同时使用了其中的一部分。
如果你想构建自己的静态库并在其中集成PubNubCocoaLumberjack,你应该坚持纯 CocoaPods 方法。 您需要:

  1. 删除 添加动态 PubNubCocoaLumberjack 框架
  2. Podfile
  3. 中删除 !use_framewors
  4. 通过删除工作区、Pods 文件夹和 Podfile.lock
  5. 稍微清理一下(如果您为 Cocoa 安装了 deintegrate 插件Pods,您可以调用它)
  6. 运行 pod install

通过这种方式,您应该能够在内部使用 PubNub 客户端代码构建自己的静态库。