我正在尝试创建一个使用套接字的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有点时髦。我重新安装它,现在似乎工作正常。感谢大家的帮助。 :)
答案 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