Phonegap

วิธีทำให้ iOS Application ที่สร้างด้วย PhoneGap เรียกใช้งาน resource บน internet ได้ผ่าน White list

เรื่องที่เกี่ยวข้อง - , , ,

ในการพัฒนา Mobile application ด้วย PhoneGap นั้น ส่วนใหญ่ก็ไม่น่าจะหลีกเลี่ยงการเรียกใช้ทรัพยากรนอก application  ได้ ซึ่งส่วนใหญ่เราก็จะเรียกไปที่ internet ที่แหละ

ไม่ว่าจะเป็น Web service, ไฟล์ media อย่าง รูปภาพหรือวิดีโอ, แม้แต่การเรียกใช้ Google Maps

แต่ถ้าเป็นมือใหม่ จะงงว่าทำไมระบุชื่อ  URL อะไรก็ถูกต้องแล้ว

แต่ทำไมไม่ทำงาน?? (สมองของ developer อย่างเราๆ ก็สร้างภาพแมลงตัวใหญ่ๆ ขึ้นมาแล้ว แต่จริงๆ ไม่ใช่หรอก)

นั่นเป็นเพราะระบบความปลอดภัยที่ PhoneGap วางเอาไว้ตอนเริ่มโปรเจคจะปิดกั้นการเรียกข้อมูลจาก internet ทุกรูปแบบ

เราเรียกกันว่า White list ครับ

โดยคุณนี่แหละ จะเป็นผู้กำหนดว่า Application ของคุณจะสามารถเข้าถึง domain name ไหนได้บ้างโดยการกำหนดผ่าน White list

สำหรับชาวหุ่นเขียว Android ที่พัฒนา App ด้วย PhoneGap ดูการทำงานกับ White list ที่นี่

การกำหนด White list สำหรับ iOS

phonegap for ios - Cordova.plist is whitelistส่วนที่เราสามารถเข้าไปกำหนด domain name ใน whitelist ของ iOS คือ file ที่ชื่อว่า Cordova.plist

  • ปกติจะอยู่ที่ AppName/Resources/Cordova.plist  หรือตามภาพ (จับภาพจาก XCode 4.3.3 ใน OS X Lion 10.7) ซึ่งในรุ่นอื่นอาจจะมีการเปลี่ยนแปลงโครงสร้างของ file ใน project แต่ให้พยายามหา Cordova.plist ให้เจอ
  • การเพิ่มและแก้ไข domain name ควรทำผ่าน XCode เท่านั้น ถ้าไม่ชำนาญการใช้งาน XML อย่าเสี่ยงเข้าไปแก้ไข Cordova.plist ในรูปแบบของ XML เลย
  • การเพิ่มชื่อ domain เข้าไปจะอยู่ในส่วนของ ExternalHosts
  • ไม่ต้องใส่ http://  และ https:// 

Syntax การใส่ domain name

เข้าถึง google.com หรือ google.com แบบ secure (https://):

google.com

เข้าถึง subdomain maps.google.com:

maps.google.com

เข้าถึง subdomain ทุกตัวใน google.com (เช่น mail.google.com และ docs.google.com):

*.google.com

เข้าถึง domain ใดๆ ก็ได้บน internet (เช่น flexblog.teerasej.com หรือ nextflow.in.th)

*

อ้างอิงจาก – http://docs.phonegap.com/en/2.0.0/guide_whitelist_index.md.html#Domain%20Whitelist%20Guide

Loading Facebook Comments ...
Menu