【问题标题】:Using installed pod in swift project在 swift 项目中使用已安装的 pod
【发布时间】:2017-05-11 06:54:09
【问题描述】:

我正在尝试创建一个使用套接字的快速程序。为了做到这一点,我尝试通过使用 CocoaPods 安装 SwiftSocket 库。 我的Podfile 是基本的:

target 'socket' do
    # Comment the next line if you're not using Swift and don't want to use dynamic frameworks
    use_frameworks!

    # Pods for socket
    pod 'SwiftSocket' 
end

根据SwiftSocket的安装指南,安装完pod我应该可以马上使用TCPClient了。 尽管如此,我还是没有在我的main.swift 文件中使用该类,因为它没有找到该类。 我在网上搜索了我在这里遗漏的内容,但我发现的只是有关如何桥接用 ObjectiveC 编写的 Pod 的指南,而不是用 Swift 编写的 Pod。

有什么帮助吗? 谢谢

编辑:根据 jamshes reginahit 的建议,除了已经存在的 Pods_socket 框架之外,我已将 SwiftSocket.framework 添加到链接框架和库中。 现在构建成功了,但是我在负载中发现了Thread1: signal SIGABRT 的运行时错误:

yld: Library not loaded: @rpath/SwiftSocket.framework/Versions/A/SwiftSocket
  Referenced from: /Users/jonathan/Library/Developer/Xcode/DerivedData/socket-buglawjxihebcabvcihcbdrtkcxt/Build/Products/Debug/socket
  Reason: image not found
(lldb) 

EDIT2:我的 Xcode 有点奇怪。我已经重新安装了它,现在它似乎工作正常。感谢大家的帮助。 :)

【问题讨论】:

  • 在类顶部导入库名
  • 您确定您的 pod 安装成功了吗?您在Build PhasesLink Binary With Libraries 部分下看到Pods_socket.framwork 吗?
  • 是的,我确实看到了

标签: swift sockets import cocoapods


【解决方案1】:

我想发表评论,但我没有足够的声誉。 无论如何,您是否写过类似的东西:

import SwiftSocket

在你需要的类中?另外,您是否使用 xcworkspace 扩展名打开了项目? 如果没有任何效果,请尝试清理并重建项目

【讨论】:

  • 我也试过了,还新建了一个项目,尝试导入这个,没有成功
  • 尝试将它添加到“链接框架和库”到项目目标的“常规”中
  • 库是否存在于“将二进制文件与库链接”到“构建阶段”中?
  • 我个人没有别的线索,试试看thisthis
  • 重新安装 xcode 解决了这个问题。 import SwiftSocket 就足够了并且可以工作。谢谢! :)
【解决方案2】:

根据我对 SwiftSocket 库的检查,您所做的似乎应该没问题(它应该是 pod 'SwiftSocket' 指的是“安装”部分),我假设您错过了添加:

import SwiftSocket

在您的 main.swift 班级中。

是的,他们没有在“代码示例”部分提到这一点,因为他们 - 可能 - 假设将其导入您的 .swift 文件应该是显而易见的。

【讨论】:

  • 它也没有找到 SwiftSocket(我已经使用 pod 安装创建的工作区打开了项目)
  • 你能检查“pods”目标吗?它包含什么?
  • 它包含SwiftSocket包,里面有swift和c文件
【解决方案3】:

一旦 CocoaPods 安装完成,您需要开始使用 .xcworkspace 而不是 .xcproject 文件。所以关闭你的项目,打开工作区(同一目录)和import SwiftSocket

【讨论】:

  • 我试过了,找不到SwiftSocket模块
【解决方案4】:

您的Podfile 似乎是正确的,之后,您需要从您的项目目录启动一个终端:

cd ~/Desktop/MyProject/

然后运行:pod install 命令。

这将创建一个.xcworkspace 文件和一个Pods 目录。 现在你必须用 Xcode 打开.xcworkspace 文件。

Donc 忘记像这样导入你的 pod:import SwiftSocket

还可以查看 CocoaPods 文档:https://guides.cocoapods.org/using/using-cocoapods.html

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-12-27
    • 1970-01-01
    • 2019-03-22
    • 1970-01-01
    • 2017-09-30
    • 1970-01-01
    • 1970-01-01
    • 2015-01-29
    相关资源
    最近更新 更多