Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> สมาร์ทโฟน >> iPhone

เชี่ยวชาญ Environment & Configuration Management ในโปรเจกต์ iOS

ในฐานะ iOS Developers เรารู้จักการจัดการ Environment ต่างๆ เช่น Development, QA, Beta, และ Production สำหรับ Environment แต่ละอัน มี Server URL, App Icon, และ Configuration ที่ต่างกัน

ก่อนสร้าง Build ใหม่ที่ชี้ไป Environment ใด Environment หนึ่ง ต้องจำว่าต้องเปลี่ยน Server URL ด้วย อาจทำโดยเปลี่ยนค่า Hardcoded Flag ในไฟล์ Constant หรือใช้ Macros แต่ทำให้ซับซ้อนขึ้น

แต่ถ้าคิดหน่อย จะได้ไอเดียที่จัดการสถานการณ์ใดๆ ได้ง่าย ไอเดียคือ สร้าง Schema และ Configuration ต่างๆ แล้วจะเปลี่ยน Application Server URLs, App Icon, Plist File, และ Configuration ได้ง่าย

บทเรียนนี้จะแสดงวิธีจัดการ Environment ต่างๆ ด้วย Schema และ Configuration

Project Setup:

เปิด Xcode สร้าง Single View Application ใหม่ด้วยชื่อที่เหมาะสม

เพิ่ม Schema และ Configurations:

ก่อนเพิ่ม Schema ต้องรู้ว่า Xcode Schema ทุกอันมาพร้อม Build Configuration 2 แบบ: Debug และ Release หากต้องการแก้ไขเฉพาะ Build Configuration ใด Configuration หนึ่ง ก็ทำได้

ตอนนี้เพิ่ม Build Configuration ของเรา เลือก Project ใน Project Navigator ด้านซ้าย แล้วเลือก Info จาก 2 ตัวเลือก (Info และ Build Settings) ใน Configurations ต้องเพิ่ม Configuration ของเราสำหรับ 5 Environment (Development, Production, QA, Beta, UAT) ไว้ที่นี่

เชี่ยวชาญ Environment & Configuration Management ในโปรเจกต์ iOS
เพิ่ม Configuration ใหม่สำหรับ Environment (Debug และ Release)

ก่อนอื่น Double-click ที่ Debug เปลี่ยนชื่อเป็น Debug (Development) เช่นเดียวกัน Double-click ที่ Release เปลี่ยนเป็น Release (Development) ตอนนี้กด + และเลือก Duplicate Debug (Development) และ Duplicate Release (Development) แล้วเปลี่ยนชื่อ Environment ซ้ำให้ตรงชื่ออื่นๆ

เชี่ยวชาญ Environment & Configuration Management ในโปรเจกต์ iOS
หลังเพิ่ม Configuration ทั้งหมดสำหรับ Environment ต่างๆ

สำหรับ Schema Creation ไปที่ Manage Schema มุมซ้ายบนของ Xcode จะเห็น Schema มีอยู่ 1 อัน เปลี่ยนชื่อเป็น Development — หรือลบเดิมและเพิ่มใหม่ชื่อ Development แล้วเพิ่ม Schema อีก 4 อันสำหรับ Environment อื่นๆ

เชี่ยวชาญ Environment & Configuration Management ในโปรเจกต์ iOS
เพิ่ม Schema ใหม่สำหรับ Environment

อย่าลืมติ๊ก Shared Box ด้วย หลังเพิ่ม Schema ทั้งหมด หน้าจอ Manage Schema จะเป็นแบบนี้:

เชี่ยวชาญ Environment & Configuration Management ในโปรเจกต์ iOS
เพิ่ม Schema ทั้งหมดแล้ว

เพิ่ม Configuration Settings File:

คลิกขวาที่ Project เลือก New File เพิ่ม Configuration Settings File ตั้งชื่อเดียวกับ Environment

เชี่ยวชาญ Environment & Configuration Management ในโปรเจกต์ iOS
Configuration Settings File

หลังเพิ่ม Config Files ทั้งหมด Project Navigator ด้านซ้ายจะเป็นแบบนี้:

เชี่ยวชาญ Environment & Configuration Management ในโปรเจกต์ iOS
เพิ่ม Configuration Files แล้ว

ส่วนสำคัญที่สุด: ใส่ Server URL และ Key-Value อื่นๆ ที่ปรับแต่งได้ ใน Configuration File ที่ตรงกัน

เชี่ยวชาญ Environment & Configuration Management ในโปรเจกต์ iOS
เพิ่ม Server URL ใน Configuration File

เพิ่ม Plist Files:

เปลี่ยนชื่อ info.plist เป็น development.plist Copy และ Paste ไฟล์ Plist เดียวกันสำหรับ Environment ต่างๆ ภายในโปรเจกต์ แล้วเปลี่ยนชื่อแต่ละไฟล์ Plist ให้ตรงชื่อ Environment สามารถตั้ง Key-Value เฉพาะ Environment ใน Plist Files ได้ หลังจากนั้น ใส่ Key จาก Configuration File ลงใน Plist Files แบบนี้:

เชี่ยวชาญ Environment & Configuration Management ในโปรเจกต์ iOS
เพิ่ม Key ใน Plist File

ตอนนี้ต้องตั้ง Plist Path ที่เหมาะสมสำหรับแต่ละ Build Configuration จาก Targets เลือก Plist File แล้วเปลี่ยนชื่อให้ตรงกันสำหรับ Configuration Debug และ Release

เชี่ยวชาญ Environment & Configuration Management ในโปรเจกต์ iOS
เพิ่ม Plist Path สำหรับ Build Configuration
เชี่ยวชาญ Environment & Configuration Management ในโปรเจกต์ iOS
เปลี่ยนชื่อ Plist Files แล้ว

Linking Build Configuration กับ Configuration File:

เลือก Build Configurations ทั้งหมด (Debug และ Release) ใน Projects Info ทีละอัน ตั้ง Configuration File ที่เพิ่มในโปรเจกต์ให้เหมาะสม

เชี่ยวชาญ Environment & Configuration Management ในโปรเจกต์ iOS
ตั้ง Configuration File ให้ Build Configuration

หลังเพิ่ม Configuration Files ทั้งหมด Build Settings จะเป็นแบบนี้:

เชี่ยวชาญ Environment & Configuration Management ในโปรเจกต์ iOS
Configuration File และ Build Configuration

ตอนนี้ Link Configuration Files ทั้งหมดกับ Build Configurations ที่ตรงกันเสร็จแล้ว

Linking Schema กับ Build Configuration:

ขั้นตอนสุดท้าย Link Schema กับ Build Configuration เลือก Schema ใด Schema หนึ่ง ไปที่ Edit Schema ตั้ง Build Configuration ที่เหมาะสม

เชี่ยวชาญ Environment & Configuration Management ในโปรเจกต์ iOS
Link Schema และ Build Configuration

พร้อมรันโปรเจกต์:

Setup เสร็จแล้ว เหลือแค่เลือก Schema และ Run — Environment จะถูกเลือกอัตโนมัติ สำหรับดึง Server URL และค่าอื่นๆ ผมสร้างไฟล์ Environment.swift ดูได้เลย:

เพื่อดึง Server URL หรือ Settings อื่นใน ViewController.swift หรือไฟล์อื่น ต้องเขียนโค้ดแค่บรรทัดเดียว:

ยังจัดการ App Icon ต่างกันสำหรับ Environment ต่างๆ ได้จาก Build Settings แล้วแค่จ้อง 1 วินาที จะรู้ว่า Build Environment ไหนติดตั้งอยู่บนอุปกรณ์

เชี่ยวชาญ Environment & Configuration Management ในโปรเจกต์ iOS

โปรเจกต์ครบถ้วนอยู่บน GitHub ดาวน์โหลดได้หากมีคำถาม

อย่าเสียเวลาเปลี่ยน Server URL หรือ Config ทุกครั้งที่ Build นี่คือวิธีที่ง่ายที่สุดจัดการ Environment, App Icon, และ Config ต่างๆ

ถ้าชอบ อย่าลืม Clap จะเป็นกำลังใจให้ผม สำหรับข้อเสนอแนะ ส่งอีเมลมาที่ mail2boudhayan@gmail.com