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

时间:2015-11-17 14:00:56

标签: ios xcode cocoapods pubnub

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

  1. 我已经下载了PubNub示例项目并进行了构建。
  2. 我已将Framework文件(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. 安装完成后,我会收到Debug和Release的警告;

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

    1. 我已经打开.xcworkspace并看到我的项目和Pods项目都在树上。
    2. 此时构建错误ld: framework not found Pods
    3. 在我重新搜索之后,大多数人说要删除以红色突出显示的Pods.framework,我就这样做了。

      enter image description here

      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),但错误仍然存​​在。
      3. 在将-rpath can only be used when creating a dynamic final linked image添加到iOS静态库项目时,任何人都知道会出现Cocoapods错误吗?如果需要,我可以提供更多信息。

        谢谢。

1 个答案:

答案 0 :(得分:8)

使用入门介绍了一些集成方式,从您的问题看,您似乎一次使用了它们的机器人。
如果你想构建自己的静态库并在其中集成 PubNub CocoaLumberjack ,你应该坚持使用纯 CocoaPods 做法。 你需要:

  1. 删除 添加动态 PubNub CocoaLumberjack 框架
  2. Podfile中删除!use_framewors
  3. 通过删除工作区,Pods文件夹和Podfile.lock
  4. 清理一下(如果您为CocoaPods安装了可以调用它的deintegrate插件)
  5. 运行pod install
  6. 这样你就可以在里面用PubNub客户端代码构建自己的静态库。