[iOS] CocoaPods กับการใช้งาน 3rd-party library #2

ก่อนหน้านี้ได้พูดถึง CocoaPods ไปแล้วบางส่วน http://www.lordgift.in.th/2016/01/ios-cocoapods-3rd-party-library.html ครั้งนี้ เราจะสมมติสถานการณ์ดูว่า ถ้าเราต้องการหา library ซักอย่างมาใช้ เพื่อช่วยในงานบางอย่าง วิธีการเป็นอย่างไรบ้าง

เราสามารถค้นหา library ผ่านหน้าเว็บของ CocoaPods ได้เลย
https://cocoapods.org/


* Type here to search by name, version, author, keywords, summary, and dependencies.

แน่นอนว่าเราจะพบกับผลการค้นหามากมาย ซึ่งเราก็ต้องเลือกใช้ โดยจะมีรายละเอียดบางส่วนสามารถดูได้ รวมถึง link ไปยังเว็บหลักของ library นั้นๆ

สำหรับโจทย์วันนี้คือ QR Code & Barcode
ซึ่งหลังจากที่ผมได้ค้นหาและทดลองมาจบที่ PQScanner https://cocoapods.org/pods/PQScanner ซึ่งถ้าดูจากตัวอย่างจะเห็นว่าเป็น Objective-C เอามาจะเอามาใช้กับ Swift โพสก่อนหน้านี้ก็บอกว่าเราสามารถทำ Bridging Header ได้ (http://www.lordgift.in.th/2016/01/ios-bridging-header-swift-objective-c.html) ซึ่งในเคสของ CocoaPods จะต่างกันนิดหน่อย
  1. install library (PQScanner) ผ่าน cocoapods ให้เรียบร้อย
  2. เปิด View Controller ที่ต้องการใช้งาน
  3. import library *ถ้า bridging header จะไม่ต้อง import แบบ swift
    import PQScanner
    
  4. จากนั้นเราสามารถใช้งาน library โดยเขียนแบบ swift ได้เลย *ถ้ามี skill ทั้ง objective-c และ swift ก็จะแปลงได้ราบรื่น (Swift แต่ละเวอร์ชั่นก็ต่างกันอีกนิดหน่อย) การมีตัวช่วยก็ทำให้ชีวิตดีขึ้นไม่น้อย :D http://iswift.org/try https://objectivec2swift.com/#/converter/code
self.scanner = PQScanner(targetView: self.view!, withDelegate: self)
scanner.setupAVCapture()
scanner.startScan{(encodeStr:String!, codeType:String!) -> Void in
   //block
}
self.scanner.continueScan()
func scanner(scanner: PQScanner!, didOpenCaptureFaild error: NSError!) {
    print(error);
}

Facebook Comment

Recent Posts

Popular post of 7 days

Portal คืออะไรกันนะ???

Port Forwarding สำหรับคนใช้ AIS Fibre

[Java] ความแตกต่างระหว่าง Overloading กับ Overriding

Popular

[Java] Java 8 DateTime ใหม่ ไฉไลกว่าเดิม

Portal คืออะไรกันนะ???

[Java] ความแตกต่างระหว่าง Overloading กับ Overriding

มาตรฐานการตั้งชื่อตัวแปร (Naming Convention)

เรื่องของ ++i กับ i++

Port Forwarding สำหรับคนใช้ AIS Fibre

ลืมรหัสปลดล็อค Android เข้าเครื่องไม่ได้ มีทางออกครับ

[Java] Java Static Variable และ Static Method

วิธีการสมัคร Apple Developer Program และ Enterprise Program ฉบับลงมือเอง

Android Auto & Apple Carplay คืออะไร ใช้งานยังไง