Skip to main content

ทำ ipcc ใช้เองสำหรับ iPhone

Submitted by ezybzy on

Ortel D ipcc

เมื่อไม่ได้ใช้ iPhone กับผู้ให้บริการอย่างเป็นทางการ ปัญหาอย่างหนึ่งที่พบคือ เมื่อหมุนโทรศัพท์โทรออกทุกครั้งจะมีข้อความแจ้งว่า การติดต่อครั้งนี้จะถูกโอนต่อไปยัง… ซึ่งจริงๆ แล้วมันก็ไม่ได้ทำอะไร เพราะว่าไม่ได้มีการ Roaming ไปไหน ซึ่งค่อนข้างน่ารำคาญที่ต้องกด Dismiss ข้อความนี้ทิ้งทุกครั้ง (ทั้งๆ ที่ก็เสียเวลารอมันหายไปจากหน้าจอไม่เกิน 2-3 วินาที)

วิธีที่ iPhone ใช้ในการจัดการค่าของผู้ให้บริการแต่ละราย คือ จะมีการสร้างไฟล์ ipcc (ไม่แน่ใจว่าย่อจากอะไร ผมขอเรียกมันว่า iPhone Carrier Configuration Bundle แล้วกัน) โดยภายในไฟล์นี้จะมีการตั้งค่าต่างๆ มากมาย เช่นการตั้งค่าการเชื่อมต่อกับ EDGE, MMS การตั้งค่าซิมของผู้ให้บริการแต่ละราย รวมถึงเมนูพิเศษของผู้ให้บริการด้วย

ทีนี้ถ้าจะสร้างไฟล์นี้ไว้ใช้เอง ต้องทำอย่างไรบ้าง (โดยไม่ต้อง Jailbreak) มีทางอยู่สองแนวทางคือ ใช้เว็บที่มีผู้ใจดีเขียนโปรแกรมสร้างไฟล์นี้ไว้ให้ กับอีกวิธีคือทำเองทั้งหมด (ใช้ Mac OS X ทำไม่ได้ยาก แต่ต้องเปิด Terminal)

ผมเลือกใช้วิธีแรก คือใช้ผ่านหน้าเว็บ โดยมุ่งไปที่ Carrier Bundle Generator iPhone OS 3 (ipcc) ซึ่งภายในเว็บไซต์แห่งนี้ก็ได้บอกขั้นตอนที่จำเป็นไว้ทั้งหมดอยู่แล้ว ซึ่งก็ใช้การได้ค่อนข้างดี แต่ก็ยังมีปัญหาที่ยังน่าติดใจอยู่ข้อหนึ่งคือ ผมไม่ชอบการเปลี่ยนโลโก้ผู้ให้บริการ (จริงๆ มันก็แค่ไฟล์รูปสองไฟล์ แต่ผมอยากได้ Helvetica แบบเดิม)

นั่นจึงนำผมมาสู่ขั้นที่สองคือ ต้องเอาไฟล์ที่ได้นี้มาแก้ไขเพิ่มเติม

จริงๆ แล้ว ipcc มันก็คือ zip ธรรมดานี่เอง (สังเกตว่า อะไรๆ ที่ Apple ทำเป็น Package มักจะเป็น zip ไม่ก็เป็นโฟลเดอร์เปลือยๆ แบบที่ Finder เข้าใจว่ามันเป็นไฟล์) เราก็ระเบิด zip ออกมา แล้วก็ทำการแก้ไขรูปเป็น png แบบที่ Apple ต้องการ (โปร่งใสแบบ interlace) หรือจะแก้ plist ภายในนั้นให้ไม่ใช้ไฟล์รูปที่ทำมาก็ได้ เสร็จแล้วก็ทำการ zip กลับเข้าไปใหม่ให้ครบถ้วน (ต้องมี symbolic link ของหมายเลขผู้ให้บริการด้วย)

เมื่อแก้ไขเสร็จก็ทำการ Update ตัว Carrier Bundle เหมือนเดิม แล้วก็จะพบว่าอักษรที่แสดงชื่อเครือข่ายก็จะเปลี่ยนไป ทดลองโทรออก ข้อความกวนใจหายไปเป็นอันเสร็จพิธี

ปล. ถ้าต้องการแก้อะไรที่เว็บสร้างอัตโนมัติทำให้ไม่ได้ นี่เป็นเพียงหนทางเดียวที่จะทำได้ (โดยไม่ต้อง Jailbreak)
ปล.2 เคยลอง Jailbreak เข้าไปตรวจความเรียบร้อย ปรากฏว่าหาไฟล์ Carrier Bundle ที่สร้างเองไม่เจอ ไม่ทราบว่ามันถูกเก็บไว้ที่ไหนในระบบ
ปล.3 ไม่ได้อธิบายถึงวิธีการแก้ plist ของ ipcc โดยละเอียด รบกวนผู้อ่านเอา official ipcc มาลองแกะดูแล้วกัน

Tags