How to use CocoaPods on iOS ?

Sarinthon Mangkorn-ngam
3 min readFeb 4, 2018

--

CocoaPods เป็นศูนย์รวม Library ต่าง ๆ ของ iOS, macOS, watchOS, tvOS ทั้งภาษา Swift และ Objective-C ซึ่งมีนักพัฒนาต่าง ๆ พัฒนา Library ไว้มากมาย บน CocoaPods นั้นสามารถทำได้ทั้ง Public library และแบบ Private library

How to use Library on CocoaPods ?

  1. Install CocoaPods

เริ่มแรกเลยเราต้องลง CocoaPods สะก่อน ด้วยการเปิด Terminal ขึ้นมาและพิมพ์คำสั่งตามด้านล่างนี้

$ sudo gem install cocoapods

จากนั้นทดลองใช้งาน โดยพิมพ์ว่า

$ pod --version

**ถ้าก่อนหน้านี้เคยลง CocoaPods มาก่อนและต้องการลงใหม่ก็สามารถลบ CocoaPods ด้วยคำสั่ง

$ sudo gem uninstall cocoapods

**และเราสามารถเลือกลงเวอร์ชัน CocoaPods ได้ด้วยคำสั่ง

$ sudo gem install cocoapods –v1.2.1

2. Setup iOS Project with CocoaPods

สร้าง iOS Project ขึ้นมาเมื่อสร้างเสร็จแล้วกดปิด Project ไป จากนั้นเปิด Terminal ขึ้นมาแล้วเข้าไปยัง iOS Project ของเรา จากนั้นเราจะ Initial CocoaPods ด้วยคำสั่ง

$ pod init

เมื่อ Initial CocoaPods แล้วจะมี Podfile ขึ้นมาดังรูป

Podfile นี้จะเป็นตัวที่ระบุถึง Library ต่าง ๆ ที่เราจะเอาเข้ามาใช้บน Project ของเราพร้อมระบุ Library version ต่าง ๆ อีกด้วย

3. Install library from CocoaPods

โดยการหา Library ต่าง ๆ จาก https://cocoapods.org ตัวอย่างเช่น

พอเราเริ่มค้นหา Library ที่อยู่บน CocoaPods นั้น คำถามลำดับต้น ๆ ที่ผุดขึ้นมาเลยคือ เราจะเลือกใช้ Library ตัวไหนดีเพราะมันมีมากมายเหลือเกิน เราจึงขอแนะนำอย่างนี้

  • ดูจากจำนวนที่ Download ไปใช้งาน
  • ดูจากจำนวนคนที่ Install ไปใช้งาน
  • ดูจากภาษาที่ใช้ในการพัฒนาและเวอร์ชันของภาษา
  • ดูจากวันเวลาที่อัพเดตล่าสุด

จากนั้นเมื่อเราเลือกได้แล้วให้กดไปที่ Install Guide ที่อยู่ด้านขวาล่าง มันจะบอกวิธีลง Library พร้อมบอกเวอร์ชัน

จากนั้นให้เข้าไปที่ Podfile ที่อยู่ใน iOS Project ของเราจากนั้นปรับแต่งให้เหมาะสมกับ Project ของเราเช่น platform version target ที่เราต้องการใช้งาน, Target บน Project ของเราปกติ Project ทั่ว ๆ ไปจะมีอยู่ Target เดียวยกเว้นแต่ที่จะมีการแบ่ง Environment ของ Project เป็น Dev, Test, UAT, Prod ตัวอย่างการเขียนบน Podfile มีดังนี้

platform :ios, ‘10.0’use_frameworks!target ‘TestPod’ dopod ‘Alamofire’, ‘~> 4.6’end

**Library ต่าง ๆ ที่จะนำเข้ามาต้องอยู่ภายใต้ Target เท่านั้นและ Target name ต้องมีอยู่จริงบน iOS Project ของเราด้วยไปงั้นจะเกิด Error ขึ้น

เมื่อแก้ไข Podfile เสร็จแล้วก็ทำการพิมพ์คำสั่งบน Terminal ว่า

$ pod install

**และเวลาเปิด Project จากที่เราเคยเปิดผ่าน .xcodeproj ให้เปิดผ่าน .xcworkspace แทน เมื่อเปิดเข้าไปแล้วจะเห็นว่ามี Library ที่เรา Install เข้ามาแล้ว

เมื่อเข้า Xcode มาแล้วก่อนเขียนโปรแกรมก็ควร Clean and build project สักทีเพื่อให้ Project ได้รู้จัก Library ต่าง ๆ ที่เรานำเข้ามาใช้งาน

**บน Podfile เราจะเห็นถึงการระบุถึงเวอร์ชันของ Library และมีสัญลักษณ์ต่าง ๆ ที่เราอาจจะยังไม่เข้าใจอยู่เช่น ~>, >, >= ซึ่งสัญลักษณ์เหล่านี้มันคืออะไรกัน

  • ‘> 0.1’ คือ เอาเวอร์ชั่นที่มากกว่า 0.1 ขึ้นไป
  • ‘>= 0.1’ คือ เอาเวอร์ชั่น 0.1 และมากกว่า 0.1 ขึ้นไป
  • ‘< 0.1’ คือ เอาเวอร์ชั่นที่น้อยกว่า 0.1 ลงไป
  • ‘<= 0.1’ คือ เอาเวอร์ชั่น 0.1 และน้อยกว่า 0.1 ลงไป
  • ‘~> 0.1.2’ คือ เอาเวอร์ชั่น 0.1.2 แต่ไม่ถึง 0.2
  • ‘~> 0.1’ คือ เอาเวอร์ชั่น 0.1 แต่ไม่ถึง 1.0
  • ‘~> 0’ คือ เอาเวอร์ชั่นล่าสุดตลอด

4. How to update library ?

เมื่อเราเคยลง Library ไปแล้วและอยากจะ Update library เพื่อให้เป็นเวอร์ชันใหม่ขึ้น ให้ใช้คำสั่ง

$ pod update

5. How to use the library ?

ให้ทำการ Import Library นั้น ๆ เข้ามาใช้งานก่อน แต่เด๋วนะปกติแล้วไฟล์บน Swift เราไม่จำเป็นต้อง Import ก่อนเข้าใช้งานเลย แล้วทำไม Library ต้อง Import เข้ามาด้วยล่ะ เหตุผลคือ Library นั้นเปรียบเสมือนอยู่คนละ Module กับ Project ทำให้ต้อง Import เข้ามาใช้งานก่อน ดังตัวอย่าง

import UIKitimport Alamofire
class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() }
override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() }}

**ถ้า Import แล้วไม่ขึ้นชื่อ Library ให้เราทำการ Clean and build project อีกครั้งหนึ่งก่อน

--

--

No responses yet