Posts

Showing posts with the label import

How to manually create Prefix Header (.pch) in Xcode 6

Image
หนึ่งสิ่งที่คนถามหากันบน Xcode 6 ว่ามันหายไปไหน นั่นคือ Prefix Header File (โดยปกติมันจะชื่อ projectName-Prefix.pch) โดยไฟล์นี้จะทำหน้าที่คือ Preprocessor Directive (#include, #define, Marco) ที่ถูกประกาศในไฟล์นี้จะสามารถนำไปใช้งานได้ทั้งโปรเจค จะใช้ในกรณีที่ Library ที่เราต้องใช้มันทุกไฟล์เลย แทนที่จะต้องประกาศทุกไฟล์ก็มาใส่ไว้ที่นี่ที่เดียว ซึ่งโปรเจคที่สร้างจาก Xcode 6 ขึ้นไปจะไม่ได้สร้างมาให้แบบอัตโนมัติแล้ว เราจะต้องสร้างเอง ด้วยวิธีการตามนี้เลย - สร้าง PCH File ขึ้นมา คราวนี้ตั้งชื่อตามสะดวกเลย - เราก็จะได้ไฟล์ที่มีหน้าตาประมาณนี้ (ผมสร้างค่าคงที่ขึ้นมาตัวนึงด้วยนะ) - จากนั้นให้ไปที่ Build Settings ของ Target ที่เราต้องการใช้งาน Prefix File นี้ (ในกรณีที่มีหลาย Target จะต้องทำทั้งหมด) ค้นหาคำว่า ' precompile ' แล้วแก้ค่า Precompile Prefix Header ให้เป็น YES - จากนั้นให้ค้นหาคำว่า " prefix " จะเจอค่าของ Prefix Header ให้ใส่ที่อยู่ของ Prefix Header File ที่สร้างขึ้นมาเมื่อสักครู่ไป (จากภาพ $SRCROOT คือด้านนอกสุดของ App Folder เรา) เท...

Cocoapods Integration on Swift Language

Image
หลังจาก Apple เปิดภาษาใหม่ Swift Programming Language ที่ฮือ ฮา วงการ iOS Developers กันไป หลายคนได้ลองเขียน หลายคนบอกชอบ หลายคนบอกไม่ชอบ เราก็ต้องมาดูกันว่าความนิยมของภาษาใหม่นี้จะเป็นไปในทางไหน คราวนี้ไม่ได้จะมาเขียนอะไรเกี่ยวกับภาษาให้อ่านกัน แต่เราจะใช้ชีวิตอย่างไร ถ้าไม่มี 3rd Party Library และแน่นอน Library ส่วนใหญ่ก็ยังคงไม่ได้ Migrate มาเป็น Swift รวดเร็วขนาดนั้น และถ้าพูดถึง 3rd Party Library คงไม่มีใครในตอนนี้ ที่ไม่รู้จัก Cocoapods   ขั้นตอนแรกก็สร้าง Podfile และ Run $ pod install เหมือนเดิม platform :ios, '7.0' pod 'AFNetworking', '~> 2.2.4' จากนั้นก็ทำการ Install Dependencies ด้วยคำสั่งที่เราคุ้นเคยกันดี $ pod install จากนั้นเราต้องสร้าง Bridging Header File เพื่อที่จะทำการ Import Library ที่เราต้องการ แล้วก็ไปใส่ Bridging Header File ไว้ใน Build Settings หัวข้อ Objective-C Bridging Header เท่านี้เองครับ จากนั้น เราอยากใช้อะไรก็ไป Import ไว้ใน Bridging Header File ได้เลย โดยใช้ #import ปกติตาม Objective-C ที่เราเคยเข...