gmail เป็นอีเมลที่ผู้ใช้งานเยอะเพราะเพียงมี gmail ก็ใช้ sign-in ได้ทุกบริการของ google ไม่ว่าจะเป็น youtube , google+ หรือ แม้กระทั้ง smart phone ที่เป็น ระบบปฏิบัติการ android จึงเห็นว่าน่าสนใจจึงนำมาสอนเพื่อนๆ เรามาเริ่มกันเลยดีกว่าครับ ปู้นๆ
1.New project
ก่อนอื่นเลยให้ new project ขึ้นมาก่อน โดยเปิดโปรแกรม Xcode เลือก Create a new Project ดังภาพ
ก่อนอื่นเลยให้ new project ขึ้นมาก่อน โดยเปิดโปรแกรม Xcode เลือก Create a new Project ดังภาพ
เลือก Single View Application แล้วกด next
หลังจากนั้นให้ตั้งชื่อโปรเจคที่ Project Name ได้ตามใจชอบเลย
ใส่ชื่อผู้พัฒนาที่ Orgenization Name
เลือกภาษาที่จะใช้เขียน language
เลือกอุปกรณ์ที่แอปของเราลองรับ Devices
หลังจากนั้นกดปุ่ม next
2. ติดตั้ง Firebase ให้กับโปรเจคของเรา
หลังจากที่สร้างโปรเจคขึ้นมาแล้วให้ไปที่ Firebase แล้วทำการ Create New Project จะมีให้กรอก iOS bundle ID คือ bundle ID ของแอปเรานั้นเอง , App nickname เป็นชื่อแอปของเรา ( ไม่จำเป็นต้องชื่อเดียวกันกับโปรเจคก็ได้นะครับ ) ดังภาพ
เราสามารถดู iOS bundle ID ได้โดยให้ไปที่โปรเจค Xcode ของเราไปที่ชื่อโปรเจค
แล้ว copy bundle Identifier ไปใส่ bundle ID ที่ Firebase ดังภาพ
เมื่อกรอกครบแล้วให้กด Add App ได้เลย
หลังจากกด Add App จะขึ้นหน้าให้เราโหลดไฟล์ GoogleService-Info ดังภาพ
จะได้ไฟล์ GoogleService-Info.plist ให้นำไปใส่ใน โปรเจคของเรา
จากนั้นเปิด Terminal ขึ้นมาแล้วพิมพ์
cd เว้นวรรค ตามด้วยที่อยู่ของโฟร์เดอร์โปรเจคแล้วกด Enter
แล้วพิมพ์คำสั่ง ----> pod init (อย่าพึ่งปิด Terminal นะครับ)
หลักจากนั้น จะได้ไฟล์ Podfile มาในโฟร์เดอร์โปรเจค
ให้เปิดไฟล์ Podfile ขึ้นมา แล้วพิมพ์คำสั่งเพิ่ม pod ต่างๆดังภาพ
เมื่อเพิ่ม pod ต่างๆดังภาพเสร็จเรียบร้อยให้ทำการ save
แล้วเปิด Terminal ที่เปิดค้างไว้ขึ้นมาอีกครั้งหนึ่ง
แล้วพิมพ์---> pod install ตามภาพด้านล่าง
รอจนติดตั้งเสร็จสิ้นจะขึ้นว่า Pod installtion complete
ให้กลับไปเปิดโฟร์เดอร์โปรเจคขึ้นมาจะได้ไฟล์โปรเจค นามสกุล .xcworkspace มาดังภาพ ซึ่งเราจะใช้ไฟล์นี้ในการเขียนแอปกัน
3. นำ REVERSED CLIENT ID มาเพิ่มใน info.plist ในโปรเจค
หากเปิดไฟล์โปรเจคอยู่ให้ทำการปิดหน้าต่างโปรเจคไปก่อน แล้วจึงเปิดไฟล์โปรเจค workspace ขึ้นมา ตอนแรกเปิดมาอาจตกใจเพราะมีโฟร์เดอร์ Pods ขึ้นมาด้วย เราไม่ต้องสนใจ ให้เปิดโปรเดอร์ที่เป็นชื่อโปรเจคของเรา ก็จะพบกับไฟล์ต่างๆเหมือนสร้างโปรเจคปกติ
หลังจากนั้นให้ทำการเปิดไฟล์ GoogleService.swift ขึ้นมา แล้วทำการ copy ในส่วนของ REVERSED_CLIENT_ID มาดังภาพ
แล้วไปที่ (1) info ของโปรเจค เลือกเมนู (2) URL Types กดเพิ่มตรงปุ่ม (3) +
หลังจากกดปุ่มบวกแล้วจะให้นำ REVERSED_CLIENT_ID ที่ copy มาจากหน้า GoogleService.plist มาวางในช่อง URL Schemes แล้วกด Enter ดังภาพ
4. Config Firebase ใน AppDelegate
ทำการเปิดไฟล์ AppDelegate ขึ้นมาเพื่อ config ค่า firebase และ เพิ่มฟังก์ชัน google sing-in โดยพิมพ์โค้ดตามภาพดังนี้
5. ออกแบบหน้า UI หน้า Sign in และเขียนโค้ดควบคุมการทำงาน
ออกแบบหน้า UI sign in โดยใช้ view มาเป็น button ของปุ่มในการ sign in ปรับขนาดตามความเหมาะสม ดังภาพ
หลังจากนั้นให้ view subclass ไปที่ GIDSignInButton
เขียนโค้ดควบคุมการทำงานในหน้า ViewController ดังนี้
เมื่อเสร็จแล้ว run จะได้หน้าตา sign in เป็นดังภาพ

6. หน้า Profile User
ให้สร้างหน้ารายละเอียดของ user ที่ sign in เข้ามามีการแสดง ชื่อ , อีเมล , รูป ของผู้ใช้งาน โดยให้ให้สร้าง Navigation Controller ขึ้นมาอีก 1 หน้า โดยในหน้านี้จะประกอบไปด้วย UIimage เพื่อแสดงภาพ และ label เพื่อข้อมูลของ user
พร้อมดสร้างไฟล์ ควบคุมการทำงานหน้านี้ขึ้นมา 1 ไฟล์ โดยในที่นี้ตั้งชื่อไฟล์เป็น ProfileViewController.swift และ ผูกไฟล์เข้ากับหน้าที่สร้างเมื่อสักครู่
และไปที่หน้า Navigation Controller แล้วทำการตั้งชื่อ Storyboard ID ชื่อว่า profile
หลังจากนั้นให้พิมพ์โค้ดในหน้า ProfileViewController.swift ดังภาพ
และเมื่อผู้ใช้กดปุ่ม Sign out จะกลับไปยังหน้า sing-in
เมื่อทำครบทุกขั้นตอนแล้วก็จะได้แอปพลิเคชันที่ใช้ gmail sign in แบบชิคๆ ไว้เล่นกันอีก 1 แอป ปู้นๆ
หากเพื่อนๆยังไม่เข้าใจเข้า ดูคลิปได้ด้านล่างนี้เลยครับ
Comments
Post a Comment