iOS 11 รองรับไฟล์มาตรฐาน FLAC แล้ว

ผู้ใช้ของเวป reddit ที่ได้ทดลองใช้ iOS 11 beta 1 ที่เปิดให้นักพัฒนาได้ใช้แล้วนั้นได้รายงานว่า ในสามารถเล่นไฟล์เพลงที่ถูกแปลงด้วยมาตรฐาน FLAC ได้แล้ว สำหรับการเล่นไฟล์ FLAC ใน iOS 11 beta 1 ต้องนำไฟล์ FLAC ไปวางบน iCloud Drive ก่อนแล้วทำการ sync ไฟล์ดังกล่าวมาลงยังอุปกรณ์ไม่ว่าจะเป็น iPhone หรือ iPad จากนั้นทำการเลือกเล่นเพลงผ่านแอพลิเคชัน Files ซึ่งเป็นแอพลิเคชันใหม่ที่ Apple เปิดให้ใช้เพื่อเข้าถึงไฟล์ต่างๆในอุปกรณ์ โดยแอพลิเคชัน Files จะรองรับตั้งแต่ iOS 11 ขึ้นไปเท่านั้น แต่เดิมนั้น ในอุปกรณ์ต่างๆของ Apple จะใช้มาตรฐาน Apple Lossless Audio Codec (ALAC) ที่พัฒนาโดย apple เอง เป็นการ encode ไฟล์เพลงแบบไม่สูญเสียข้อมูลต้นฉบับ(lossless) Read more about iOS 11 รองรับไฟล์มาตรฐาน FLAC แล้ว[…]

iOS 11 สำหรับนักพัฒนา

Drag and Drop: เพิ่มความสามารถการ drag/drop ภายในแอพเดียวกัน หรือคนละแอพ เฉพาะใน ipad ARKit: เพิ่ม API สำหรับ Augment Reality(AR) โดยทำการผสมผสานระหว่าง live camera view จากกล้องถ่ายรูป เข้ากับวัตถุที่ใส่ไว้ในโปรแกรม ซึ่งทำให้ดูเหมือนกับวัตถุเหล่านั้นอยู่ในภาพจริง โดย ARKit ยังสามารถตรวจหาระนาบ(plane) จาก live camera view ได้ Machine learning: มีการเปิดให้ใช้ core ML framework ซึ่งนักพัฒนาสามารถจะสามารถป้อน train model, data input เพื่อที่จะรับข้อมูลจากการ prediction, apple มีตัวอย่างการใช้ core ML เพื่อจะทำนายราคาของอสังหาริมทรัพย์ Vision: มีการเปิดใช้ vision framework เพื่อจะใช้สำหรับ การวิเคราะห์รูปภาพ แต่เดิมใน Read more about iOS 11 สำหรับนักพัฒนา[…]

Embed youtube video into iOS Application (swift project)

จากเอกสารของ google(ที่นี่) ที่เสนอแนะวิธีการ embed youtube video ลงบน iOS app โดยใช้ตัวอย่างเป็นภาษา objective-c วันนี้เราจะมาลอง embed youtube video โดยใช้โปรเจค swift กัน วิธีการนำ library เข้ามาใช้ใน project ของเรามีสองแบบ แบบแรกผ่าน cocoapods แบบที่สอง ให้โหลด source file จาก github แล้วมา import ลงใน project ของเราเอง สำหรับวันนี้เราจะมาใช้วิธีนำ library เข้ามาใช้ผ่าน cocoapods วิธีการนำ youtube library มาใช้ผ่าน cocoapods cocoapods คืออะไร cocoapods เป็น dependency manager คือ แหล่งรวมโปรเจค objective-c และ Read more about Embed youtube video into iOS Application (swift project)[…]

iOS Tutorial – Begin with swift ( day 8 ) – Properties

รู้จักกับ properties properties คือค่าที่ถูกเก็บและเป็นส่วนหนึ่ง class, structure และ enumeration store properties คือ ค่าคงที่ หรือตัวแปรที่ที่ถูกบันทึก ซึ่งจะหาได้ใน class, structure compute properties คือ ค่าที่ถูกคำนวณขึ้น ซึ่งจะหาได้ใน class, structure, enumeration store properties store properties สามารถจะประกาศเป็น ค่าคงที่(ประกาศด้วย let) หรือตัวแปร (ประกาศด้วย var) ก็ได้ ตัวอย่างการใช้ store properties struct TrackInfo{ var length:Int var currentTime:Int } จากตัวอย่าง เราทำการสร้าง Structure ชื่อ TrackInfo สำหรับไว้ทำการบันทึกข้อมูลรายละเอียดของเพลงแต่ละเพลง โดยเราทำการประกาศ ตัวแปร properties ชื่อว่า Read more about iOS Tutorial – Begin with swift ( day 8 ) – Properties[…]

iOS Tutorial – Begin with swift ( day 7 ) – Class และ Structure

รู้จักกับ Class และ Structure วิธีการประกาศ Class         การประกาศใช้ Class นั้นจะใช้ keyword “class” ตามด้วยชื่อของคลาสที่ต้องการประกาศ และรายละเอียดของคลาสจะอยู่ภายในเครื่องหมาย {} วิธีการประกาศ Structure       การประกาศใช้ Structure นั้นจะใช้  keyword “struct” ตามด้วยชื่อของ Structure ที่ต้องการประกาศ และรายละเอียดของ structure จะอยู่ภายในเครื่องหมาย {} ตัวอย่างการใช้งาน Class และ Structure struct GeoLocation{ var lat = 88.25 var long = 91.5 } struct Size{ var width = Read more about iOS Tutorial – Begin with swift ( day 7 ) – Class และ Structure[…]

iOS Tutorial – Begin with Swift ( day 6 ) – Enumerations

รู้จักกับ enumerations enumeration คือประเภทของข้อมูลแบบหนึ่งที่กำหนดขึ้นเอง สำหรับจับกลุ่มของข้อมูลที่มีความเกี่ยวเนื่องกัน หากเราเคยคุ้นเคยกับภาษา c ข้อมูลประเภท enumeration จะเป็นการกำหนดชื่อของข้อมูลกับค่าที่เป็น integer แต่ใน swift สามารถทำได้มากกว่านั้น ใน swift การกำหนดค่าให้ enumeration จะแบ่งออกเป็นสองแบบใหญ่ๆ raw value ค่าคงที่จะถูกกำหนดให้ตามแต่ละกรณีไปโดยจะเป็นค่าคงที่ไม่เปลี่ยนแปลงโดยจะสามารถเก็บข้อมูลได้เป็นชนิด String, Character, integer, float associate value  ค่าที่จะถูกกำหนดโดยรูปแบบได้ก็ได้ ตามแต่ละกรณี เราจะมาลงรายละเอียดใน enumeration ประเภทนี้ต่อไป วิธีการประกาศ         เราประกาศใช้ enumeration ด้วย keyword “enum” จากนั้นตามด้วยชื่อประเภทของข้อมูลที่เราจะสร้างขึ้น<enumeration_name> ซึ่งประเภทของข้อมูลนี้ ควรจะขึ้นต้นด้วยตัวพิมพ์ใหญ่ เพราะเรากำลังจะประกาศประเภทของข้อมูลใหม่และชื่อของประเภทควรจะเป็นเอกพจน์อีกด้วย จากนั้นรายละเอียดของของมูลทั้งหมดจะอยู่ภายในเครื่องหมาย {} ตัวอย่างการใช้ enumeration enum Direction { case Read more about iOS Tutorial – Begin with Swift ( day 6 ) – Enumerations[…]

iOS Tutorial – Begin with Swift ( day 5 ) – Closure

รู้จักกับ closure closure คือกลุ่มของคำสั่งที่อยู่รวมกัน สามารถจะถูกประกาศและถูกใช้ในส่วนต่างๆ ของโค้ดได้  ซึ่ง closure ใน swift เองนั้นเปรียบได้กับ block ในภาษา c และ objective-c รูปแบบของ closure : ฟังก์ชัน: ซึ่งเราพูดถึงไปในบทที่แล้ว เป็น closure ที่กลุ่มคำสั่งดังกล่าวมีการกับหนดชื่อให้กับ closure และไม่มีการบันทึกค่าต่างๆ ไว้ใช้ ฟังก์ชันซ้อนฟังก์ชัน: เป็น closure ที่กลุ่มคำสั่งดังกล่าวมีการกำหนดชื่อให้ และมีการบันทึกค่าต่างๆไว้ใช้ Closure expression: เป็นกลุ่มของคำสั่ง ที่ไม่มีการกำหนดชื่อให้กลุ่มนั้น และมีการบันทึกค่าต่างๆไว้ใช้ใน closure โดยบทนี้เราจะมาเน้นถึง Closure Expression โดยลักษณะของการใช้ closure expression รูปแบบเต็มจะเขียนได้ดังนี้       ชุดคำสั่งใน closure ต้องอยู่ภายในเครื่องหมาย {}  และชุดคำสั่งที่ดำเนินการภายในทั้งหมด closure จะมาหลัง Read more about iOS Tutorial – Begin with Swift ( day 5 ) – Closure[…]

iOS Tutorial – Begin with Swift ( day 4 ) – Function

รู้จักกับ Function ฟังก์ชันคือ กลุ่มของคำสั่งที่ถูกรวมกัน เพื่อทำตามจุดประสงค์โดยรวมของกลุ่มคำสั่งนั้นๆ   ฟังก์ชันจะประกอบด้วยองค์ประกอบหลักๆ คือ       Keyword: func ซึ่งเป็นการบอกว่ากลุ่มคำสั่งนี้คือการประกาศฟังก์ชัน ชื่อฟังก์ชัน(name): เป็นชื่อที่ถูกตั้งขึ้นตามจุดประสงค์ของกลุ่มคำสั่ง เพื่อไว้ใช้เรียกกลุ่มของคำสั่งนั้น ข้อมูลตัวแปร(argument): ซึ่งเป็นข้อมูลเพิ่มเติมที่ถูกส่งเข้าไปในฟังก์ชัน เพื่อทำให้ฟังก์ชันนั้นสามารถทำงานบรรลุตามจุดประสงค์ของฟังก์ชัน ซึ่งฟังก์ชันอาจกำหนดให้มี หรือไม่มีข้อมูลตัวแปรนี้ก็ได้  ข้อมูลตัวแปรนี้สามารถใช้ได้หลายประเภทตั้งแต่ การส่งตัวแปรแบบธรรมดาอย่างภาษา c ทั่วไป หรือไปถึงประเภทที่ซับซ้อน ตามการส่งตัวแปรแนว objective-c กลุ่มคำสั่ง(statement): ซึ่งเป็นกลุ่มคำสั่งที่ใช้ดำเนินการเพื่อให้บรรลุจุดประสงค์ของฟังก์ขัน ข้อมูลตัวแปรที่ส่งกลับ(return value): เป็นข้อมูลตัวแปรที่เป็นผลลัพท์จากการกระทำตามกลุ่มคำสั่งและต้องการส่งผลกลับออกไป ซึ่งฟังก์ชันอาจจะมีหรือไม่มี return value ก็ได้ตามแต่กำหนด ถ้าไม่ต้องการให้มี return value ฟังก์ชันจะมี return type เป็น void คือไม่มีประเภทใดๆ ตัวอย่างการประกาศฟังก์ชันแบบไม่มีตัวแปร และไม่มีการคืนค่ากลับ func greeting(){ print(“Welcome to Swift Tutorial”) } Read more about iOS Tutorial – Begin with Swift ( day 4 ) – Function[…]

iOS Tutorial – Begin with swift ( day 3 ) – Collection

รู้จักกับ Collection ใน swift นั้นจะมี collectionให้ใช้กัน 3 ประเภทหลักๆ คือ Array ซึ่งเป็น collection ที่เก็บข้อมูลตามลำดับ Set เก็บข้อมูลไม่เป็นลำดับ Dictionary เก็บข้อมูลไม่เป็นลำดับ เวลาทำการสร้าง collection แบบ Array, Set หรือ Dictionary ถ้าเราทำการสร้าง collection เหล่านั้นด้วย “var”(variable) collection นั้นจะถูกสร้างเป็นแบบ mutable คือสร้างมาปรับเปลี่ยนข้อมูลด้านในได้  แต่ถ้าเวลาสร้าง collection เหล่านั้นด้วย “let”(constant) แล้วละก็ collection ก็จะเป็นแบบ immutable คือไม่สามารถเปลี่ยนแปลงแก้ไขข้อมูลได้อีกแล้ว Array  จะสามารถเก็บค่าที่เป็นชนิดเดียวกันลงไป และเก็บข้อมูลแบบเรียงลำดับ ข้อมูลไหนมาก่อนใส่ก่อน ข้อมูลไหนมาหลังจะใส่ทีหลัง และ ค่าเดียวกันก็สามารถถูกบรรจุลงไปหลายครั้งใน collection เดียวกันได้การสร้าง Array ใน swift อาจใช้ Array<Element> Read more about iOS Tutorial – Begin with swift ( day 3 ) – Collection[…]

iOS Tutorial – Begin with Swift ( Day 2 ) – Control Flow

รู้จักกับ Control flow 1.Conditional statement ซึ่งทำการ execute กลุ่มของโค้ดตามเงื่อนไขต่างๆ เช่น ตามเงื่อนไขที่ให้มา ถ้าตรงตามเงื่อนไขให้แสดงผลว่าข้อมูลถูกต้อง ถ้าไม่ตรงตามเงื่อนไขให้แสดงข้อความแจ้งผลการผิดพลาด 1.1 if statement ใช้ evaluate เงื่อนไขที่มีจำนวนการแสดงผลลัพท์ที่ต่างกันไม่มาก if (a) then b else c ถ้า condition ใน a นั้นเป็นจริง b จะเกิดขึ้น ถ้า condition ใน a ไม่เป็นจริง c จะเกิดขึ้น สำหรับ condition นั้น operator ที่ใช้ได้ มีดังนี้ :-  < น้อยกว่า <= น้อยกว่าหรือเท่ากัน > มากกว่า >= มากกว่าหรือเท่ากัน == เปรียบเทียบว่าเท่ากัน Read more about iOS Tutorial – Begin with Swift ( Day 2 ) – Control Flow[…]