在swift项目中使用已安装的pod

时间:2017-05-11 06:54:09

标签: swift sockets import cocoapods

我正在尝试创建一个使用套接字的swift程序。为了做到这一点,我试图通过使用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建议,我已经将SwiftSocket.framework添加到Linked Frameworks和Libraries,以及已经存在的Pods_socket框架。 现在构建成功了,但我将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有点时髦。我重新安装它,现在似乎工作正常。感谢大家的帮助。 :)

4 个答案:

答案 0 :(得分:4)

我想发表评论,但我没有足够的声誉。 无论如何你做了类似的事情:

dex2oat

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

答案 1 :(得分:2)

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

import SwiftSocket

main.swift课程中。

是的,他们没有在"代码示例"中提及因为他们 - 可能 - 假设在 .swift 文件中导入它应该是显而易见的。

答案 2 :(得分:2)

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

答案 3 :(得分:1)

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

cd ~/Desktop/MyProject/

然后运行:pod install命令。

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

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

另请参阅CocoaPods文档:https://guides.cocoapods.org/using/using-cocoapods.html