ในการพัฒนา 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
ส่วนที่เราสามารถเข้าไปกำหนด 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