5.iOS(Swift4.0)용 ECHONET Lite 프로토콜 라이브러리
iOS용 ECHONET Lite 프로토콜 라이브러리를 만들었기 때문에 사용법을 설명한다.
참고로 소스 코드는 MIT 라이센스입니다.모두 안심하세요.
https://cocoapods.org/?q=ELSwift
https://github.com/Hiroshi-Sugimura/ELSwift
(GCDAsyncUdpSocket은 Public domain입니다.)
1. Xcode를 통한 Project 준비
2. Podfile 준비
use_frameworks!
target 'ELSwiftTest' do
pod 'ELSwift'
pod 'CocoaAsyncSocket'
end
$ cd ~/Documents/Xcode/ELSwiftTest/
$ pod setup
$ pod update
3. 데모 해보기
구체적인 Xcode와 Swift의 프로그래밍은 다른 자료를 보십시오
이러한 느낌으로 GUI와 객체 제어점의 대응
프로그램이 이렇게 바뀐 느낌.
import UIKit
import ELSwift
class ViewController: UIViewController {
@IBOutlet weak var logView: UITextView!
@IBOutlet weak var btnSearch: UIButton!
let objectList:[String] = ["05ff01"]
override func viewDidLoad() {
super.viewDidLoad()
logView.text = ""
do {
try ELSwift.initialize( objectList, { rinfo, els, err in
if let error = err {
print (error)
return
}
if let elsv = els {
let seoj = elsv.SEOJ
let esv = elsv.ESV
let detail = elsv.DETAIL
self.logView.text = "ip:\(rinfo.address), seoj:\(seoj), esv:\(esv), datail:\(detail)" + "\n" + self.logView.text
}
}, 4)
}catch let error{
print( error )
}
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
@IBAction func btnSearchDown(_ sender: Any) {
ELSwift.search()
}
}
혹시 이 타이밍에 import문이 있는 곳에서.Cannot load underlying module for 'ELSwift'
이런 오류가 발생할 수 있지만'⇔8984:+B'로 컴파일하면 사라질 것 같아요.Warning은 다음 UDP 관계로 인해 조금씩 나타날지도 모른다.아마 괜찮을 거예요. 좋아하는 사람은 고쳐주세요.
Parameters of 'udpSocket(_:didReceive:fromAddress:withFilterContext:)' have different optionality than expected by protocol 'GCDAsyncUdpSocketDelegate'
4. 활동.
시뮬레이터의 결과는 이렇다.
통신해야 하기 때문에 대화상자에서 경고가 나옵니다. 허락해 주십시오.
5. Swift와 Xcode를 사용하기 어렵다는 것을 다시 한 번 깨달았다.
여기가 아픈 곳이에요.
6. 흔히 볼 수 있는 오류와 대책
여기도 고통스러워요.
Reference
이 문제에 관하여(5.iOS(Swift4.0)용 ECHONET Lite 프로토콜 라이브러리), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/Sugimura-Laboratory/items/acfb66bfc819bcfb80a2텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)