首页 文章

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

提问于
浏览
2

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

  • 我已经下载了PubNub示例项目并进行了构建 .

  • 我已将Framework文件(CocoaLumberjack和PubNub)复制到我的Supporting Files文件夹中 .

  • 我关闭了xCode,并在项目目录中创建了PodFile .

  • PodFile的内容如下:

platform :ios, "9.0"

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

use_frameworks!

pod "PubNub", "~> 4.0"

  • 安装完成后,我收到Debug和Release的警告说;

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

  • 我打开 .xcworkspace 并看到我的项目和Pods项目都在树中 .

  • 此时构建错误 ld: framework not found Pods

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

enter image description here

  • 删除 Pods.framework 后,构建继续给出错误,如; ld: -rpath can only be used when creating a dynamic final linked image

  • 我搬到了 Target > Build Settings > Other Linker Flags . ObjC 已添加,我还添加了 $(inherited) 但错误仍然存在 .

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

谢谢 .

1 回答

  • 8

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

    • Remove 添加了动态 PubNubCocoaLumberjack 框架

    • 从Podfile中删除 !use_framewors

    • 通过删除工作空间,Pods文件夹和Podfile.lock来清理一下(如果你为CocoaPods安装了deintegrate插件,你可以调用它)

    • 运行 pod install

    这样你就可以在里面用PubNub客户端代码构建自己的静态库 .

相关问题