ปัญหากับ UIRequiredDeviceCapabilities property

หลายคนอาจจะกำลัง submit application ขึ้น review อยู่ดีๆแต่ต้องเจอกับ error แบบนี้อย่างหลีกเลี่ยงไม่ได้ The app’s Info.plist can’t contain values for the UIRequiredDeviceCapabilities key that would prevent this app from opening on any iOS device. For more information, see Understanding the UIRequiredDeviceCapabilities Key. แล้วเราควรจะจัดการกับ Error ตัวนี้กันอย่างไรดี   ก่อนอื่นมารู้จักกับ UIRequiredDeviceCapabilities property กันก่อนว่าคุณลักษณะตัวนี้ไว้บอกถึงอะไร? UIRequiredDeviceCapabilities property เป็นค่าที่ไว้บอกคุณลักษณะของฮาร์ดแวร์บนอุปกรณ์นั้นๆที่จะอนุญาติว่าจะยอมให้แอพลิเคชันของเรานั้นสามารถเปิดขึ้นมาได้หรือไม่   ค่า Property อยู่ที่ไหน? ที่เก่าที่เดิม อยู่ที่ไฟล์ Info.plist Read more about ปัญหากับ UIRequiredDeviceCapabilities property[…]

พลังงานกับการเขียนโค้ด

สำหรับการทำงานเป็นนักพัฒนาสาขาต่างๆนั้น เราคงหนีไม่พ้นการนั่งอยู่หน้าคอมพิวเตอร์เป็นเวลานานๆ เขียนโค้ด แก้บั๊ก วางแผน เป็นงานหลักๆ ในแต่ละวัน เคยสงสัยกันไหมว่า การที่เรานั่งทำงานแบบนั้นในแต่ละวันร่างกายเราใช้พลังงานกันเท่าไรกันนะ ข้อมูลที่ 1 อ้างอิงจากข้อมูลด้านบน ข้อมูลแสดงให้เห็นว่าสำหรับคนที่มีน้ำหนักตัว 70 กิโลกรัม การที่เรานั่งทำงานแบบนี้นาน 1 ชั่วโมง ร่างกายเราใช้พลังงานไปเพียงแค่ประมาณ 105 แคลอรี่ต่อชั่วโมงเท่านั้นเอง ถ้าเราทำงาน 8 ชั่วโมง ในหนึ่งวันเราก็ใช้พลังงานไปเพียงแค่ 840 แคลอรี่เท่านั้นเอง เปรียบเทียบกับข้อมูลด้านโภชนาการแล้ว  การที่เราทานแฮมเบอร์เกอร์ใส่ชีส ซึ่งให้พลังงานงานถึง 704 แคลอรี่ เท่ากับว่า เราต้องนั่งทำงาน 7 ชั่วโมง ถึงจะสามารถเผาพลาญแฮมเบอเกอร์ก้อนนั้นไปได้    หรือถ้าเราดื่มโค้ก 1 กระป๋อง เราก็ต้องนั่งทำงานตั้ง 2 ชั่วโมงถึงจะใช้พลังงานนั่นหมด เรื่องพลังงานที่เราใช้ไปต่อวันกับอาหารที่เราทานไปนั้น ก็เป็นเพียงปัจจัยหนึ่งเท่านั้นเองที่มีผลต่อสุขภาพของเรา เพราะการที่เราบังคับร่างกายให้นั่งทำงานแบบเดียวกันนานๆ ติดต่อกันโดยไม่ปล่อยให้ร่างกายได้ทำกิจกรรมอื่นสลับไปบ้างนั้น อาจส่งผลให้มีความเสี่ยงในการเป็นโรคอ้วน หรือโรคหัวใจถามหาเราอีกด้วย แม้บางคนอาจจะมีตารางออกกำลังกายประจำวันอยู่แล้วไม่ว่าตอนเย็นหรือตอนเช้านั่นเป็นสิ่งที่ดี แต่ก็ยังไม่เพียงพอ เพราะถ้าในหนึ่งวันเราบังคับให้ร่างกายเรานั่งทำงานอยู่กับที่ท่าเดียวไม่เปลี่ยนกิจกรรมทำบ้าง นั่นก็ย่อมส่งผลเสียต่อร่างกายในระยะยาวเช่นกัน การเปลี่ยนอิริยาบถ ระหว่างการทำงาน Read more about พลังงานกับการเขียนโค้ด[…]

อัพโหลดแอพลิเคชันของเราขึ้นรีวิวด้วย Application Loader

วันนี้เราจะลองมาเอาไฟล์แอพลิเคชันที่ทำเสร็จแล้ว(.ipa) ขึ้น iTunes connect เพื่อรอรีวิวกัน โดยการใช้ Application Builder เริ่มต้นเปิด XCode และเราต้องทำการเสียบอุปกรณ์จริงที่ปกติเราใช้ทดสอบเข้าไปก่อน จากนั้นก็ให้เลือกที่อุปกรณ์ตัวนั้น ไปที่เมนู Product แล้วเลือก Archive เพื่อจะทำการ build แอพลิเคชันของเรา หลังจากเลือก Archive เสร็จเรียบร้อยแล้ว โปรแกรมจะใช้เวลาสักระยะหนึ่งเพื่อทำการสร้างไฟล์แอพลิเคชัน เมื่อเสร็จเรียบร้อยแล้วโปรแกรมจะแสดงหน้าตาดังรูปด้านล่าง (ก่อนอื่นเราก็ทำการเลือก Validate… ไฟล์แอพลิเคชันที่เราสร้างขึ้นมาเสียก่อนเพื่อตรวจสอบความสมบูรณ์ของไฟล์ที่ เราทำการสร้างขึ้นมา ) อันที่จริงแล้วเราสามารถจะเลือก Submit to App Store เพื่อเอาไฟล์แอพลิเคชันนี้ขึ้นไปโดยตรงเลยก็ได้ แต่ในวันนี้เราจะมาลองอีกวิธีคือการใช้โปรแกรม Application Loader ในการนำไฟล์ขึ้นไป เราจึงขอไม่ใช้วิธีนี้แล้วกัน แต่เราจะทำการเลือก Export… แทนเพื่อนำเอาไฟล์แอพลิเคชันของเราออกมา เตรียมรอไว้ก่อน จากนั้นทำการเลือก Save for Ad Hoc Deployment การเลือกแบบนี้เราจะได้ไฟล์แอพลิเคชัน(.ipa) ออกมาซึ่งเราจะนำไฟล์นี้ ไปติดตั้งในอุปกรณ์อื่นๆ ที่เราต้องการจะทดสอบก็ได้ จากนั้นเราก็ทำการเลือกไฟล์ Read more about อัพโหลดแอพลิเคชันของเราขึ้นรีวิวด้วย Application Loader[…]

App Transport Security กับ iOS9

หลายคงอาจจะเจอฝันร้ายไปแล้วหลังจากอัพเดท xcode 7.0 ตัวใหม่ แล้วจัดการรันแอพลิเคชันของคุณใน simulator เพื่อจะทดสอบแอพลิเคชันตัวเก่าที่ใช้งานอยู่ แต่อยู่ดีๆ ข่าวร้ายก็มาเคาะประตูบ้าน “เอ๊ะ แอพลิเคชันเรามีปัญหารึเปล่านะ server เรามีปัญหารึเปล่านะ ทำไมข้อมูลไม่ขึ้นมาหล่ะ แต่เอ๊ะเมื่อวานเรายังรันแอพอยู่ได้สบายๆ อยู่เลย โค้ดเราก็ยังไม่ได้แก้อะไรเลยนะ” หลังจากดูอาการแล้ว ก็เหมือนว่าจะไม่มีอะไรที่ทำให้เกิดปัญหา error ก็ไม่ขึ้นมา เช็คดู server ใช้ tool เรียก service แล้วก็ดูเหมือนจะทำงานเป็นปกติ, รีสตาร์ท เครื่องก็แล้วหรือบางคนอาจจะลามไปจุดธูป จุดเทียนบนกับคุณพระคุณเจ้า ปัญหานี้ก็ยังแก้ไม่หาย หลับไปแล้วตื่นมาปัญหาก็ยังอยู่ แล้วปัญหานี้มันมาจากไหนหล่ะ ใน iOS9 เพิ่มเติมสิ่งที่เรียกว่า App Transport Security ข้อเรียกสั้นๆ ว่า ATS เข้ามาเป็น default behavior ของแอพลิเคชัน สิ่งนี้มันคืออะไร? ก็ตามชื่อมันเลยนั่นแหละ นั่นก็คือ ทำให้แอพลิเคชันนั้นสามารถรับส่งข้อมูลได้ปลอดภัยมากขึ้น แล้วมีอะไรเปลี่ยนแปลงล่ะ? เมื่อต้องการให้การรับส่งข้อมูลปลอดภัยขึ้น เพราะฉะนั้นโดย default Read more about App Transport Security กับ iOS9[…]

เมื่อต้องการ UDID ของ iPhone แบบไม่ต้องเปิด iTunes

โดยปกติแล้วนักพัฒนาส่วนใหญ่เมื่อต้องการจะดึงข้อมูล UDID ของอุปกรณ์ที่จะใช้ทำการทดสอบ ส่วนใหญ่แล้วต้องเอาอุปกรณ์ต่อเข้ากับคอมพิวเตอร์ก่อน หลังจากนั้นทำการเปิด iTunes แล้วกดเข้าไปตรงส่วนข้อมูล เพื่อจะดึงเอาข้อมูล UDID ของเครื่องนั้นออกมา แต่รู้ไหมว่า แม้ไม่ต้องเปิด iTunes เราก็สามารถดึงข้อมูลของ UDID นั้นออกมาได้เหมือนกัน แต่วิธีนี้สิ่งที่เราต้องมีคือคอมพิวเตอร์ที่ลง Mac OS เริ่มต้นด้วย – ทำการเสียบอุปกรณ์ของเราเข้ากับคอมพิวเตอร์ – ไปที่โลโก้ Apple ตรงมุมบนซ้ายของจอ – เลือก About This Mac – ไปที่ Overview แทป แล้วเลือก System Report – ตรงคอลัมน์ด้านซ้าย ให้หาเมนูชื่อ USB หลังจากเลือกมาแล้ว ทางด้านขวาจะปรากฏรายละเอียดของอุปกรณ์ที่เชื่อมต่อ USB อยู่ ให้มองหา iPhone – ภายใต้หัวข้อ iPhone ข้อมูล Serial Number นี่แหละ Read more about เมื่อต้องการ UDID ของ iPhone แบบไม่ต้องเปิด iTunes[…]

เปิดโค้ดหลายแทปเวลาเรา double click ไฟล์ใน xcode

รู้กันมั้ยว่าใน xcode นั้นเราสามารถ เปิดโค้ดได้หลายแทปเหมือนกับ tools อื่นๆ วิธีการเราเข้าไปที่เมนู File -> Preferences เลือกเมนู Navigation แล้วดูตรงที่ “Double Click Navigation” ปกติแล้วโดย default จะถูกเลือกเป็น “Uses Seperate Window” เราทำการเปลี่ยนใหม่เป็น “Users Seperate Tab” แค่นี้เป็นอันเสร็จเวลาเรา double click ที่ไฟล์ใน xcode ก็จะทำการเปิดแทปใหม่มาให้เราดังภาพ

เกิดปัญหาเมื่อสร้าง storyboard ขึ้นมาแล้วขนาดเป็นสี่เหลี่ยมจัตุรัส

เคยเจอเหตุการณ์นี้กันมั้ย สร้าง storyboard ใน xcode ขึ้นมาใหม่แล้วมีปัญหาคือหน้าตา storyboard กลายเป็นสี่เหลี่ยมจัตุรัสแทนที่จะเป็นขนาดหน้าจอของ iPhone หรือ iPad ตามในรูปนี้ วิธีแก้ไขไปที่ Show File Inspector ดูที่ select box “Use Size Classes” ถ้าถูกเลือกอยู่ให้ทำการเอาที่เลือกออก จากนั้นก็จะมีป๊อบอัพถามขึ้นมาว่า ต้องการจะ disabled รึเปล่า แล้วเราจะเอา size ของ iPhone หรือ iPad สมมติเราเลือก size iPhone เราก็ทำการเลือกเลยตามรูป เสร็จเรียบร้อย เราจะได้ storyboard ที่เหมาะกับขนาด iPhone ตามที่เราต้องการ