1. Trang chủ
  2. » Luận Văn - Báo Cáo

NGHIÊN CỨU XÂY DỰNG ỨNG DỤNG TRÊN NỀN TẢNG IOS

326 137 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 326
Dung lượng 13,26 MB

Nội dung

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC NÔNG LÂM TP HCM KHOA CÔNG NGHỆ THÔNG TIN LUẬN VĂN TỐT NGHIỆP NGHIÊN CỨU XÂY DỰNG ỨNG DỤNG TRÊN NỀN TẢNG IOS Ngành : Cơng Nghệ Thơng Tin Niên khố : 2009 - 2013 Lớp : DH09DT Sinh viên thực : Lê Võ Minh Tâm Trần Thị Dinh TP.HỒ CHÍ MINH, tháng năm 2013 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC NÔNG LÂM TP HCM KHOA CÔNG NGHỆ THÔNG TIN LUẬN VĂN TỐT NGHIỆP NGHIÊN CỨU XÂY DỰNG ỨNG DỤNG TRÊN NỀN TẢNG IOS Giáo viên hướng dẫn: Sinh viên thực hiện: TS Phạm Văn Tính Lê Võ Minh Tâm Trần Thị Dinh TP.HỒ CHÍ MINH, tháng năm 2013 CÔNG TRÌNH HOÀN TẤT TẠI TRƢỜNG ĐẠI HỌC NÔNG LÂM TP HCM  Giáo viên hƣớng dẫn: TS Phạm Văn Tính Phản biện: ThS Lê Phi Hùng Luâ ̣n văn kỹ sƣ đƣơ ̣c bảo vê ̣ ta ̣i HỘI ĐỒNG CHẤM LUẬN VĂN KỸ SƢ TRƢỜNG ĐẠI HỌC NÔNG LÂM TP HCM ngày tháng năm Bộ Giáo Dục Đào Tạo Trường ĐH NÔNG LÂM TpHCM CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc Lập-Tự Do-Hạnh Phúc NHIỆM VỤ LUẬN VĂN CỬ NHÂN Họ tên sinh viên:LÊ VÕ MINH TÂM Ngày tháng năm sinh: 19/11/1991 Chuyên ngành: Công Nghệ Thông Tin Phái: Nam Nơi sinh: Đồng Nai Họ tên sinh viên: TRẦN THỊ DINH Ngày tháng năm sinh: 25/12/1991 Chuyên ngành: Công Nghệ Thơng Tin Phái: Nữ Nơi sinh: Ninh Bình I TÊN ĐỀ TÀI: Nghiên cứuxây dựng ứng dụng tảng iOS II NHIỆM VỤ VÀ NỘI DUNG - Nghiên cứu xây dựng ứng dụng tảng iOS - Nghiên cứu xây dựng ứng dụng iOS với hai framework Cocos2D và Box2D - Tim hiểu mô vật lý ứng dụng iOS - Ứng dụng kiến thức tìm hiểu đƣợc xây dựng game mơ vật lý iOS III NGÀY GIAO NHIỆM VỤ: 15/3/2013 IV NGÀY HOÀN THÀNH NHIỆM VỤ: 15/8/2013 V HỌ VÀ TÊN CÁN BỘ HƢỚNG DẪN: TS Phạm Văn Tính Ngày…./…./… Ngày…./…./… Ngày…./…./… CÁN BỘ HƢỚNG DẪN CHỦ NHIỆM CHUYÊN NGÀNH KHOA CNTT LỜI CẢM ƠN  Sau thời gian nghiên cứu luận văn, chúng em đạt kết định Để đạt điều ngồi cố gắng nổ lực thành viên nhóm, chúng em cịn nhận nhiều quan tâm bảo nhà trường, quý thầy cơ, gia đình, bạn bè,… Chúng em xin chân thành cám ơn Khoa Công nghệ thông tin Đại học Nông Lâm Thành phố Hồ Chí Minh tạo điều kiện cho chúng em thực đề tài Chúng em chân thành cám ơn quý thầy cô người tận tình bảo truyền đạt kiến thức quý báu cho chúng em suốt thời gian qua Chúng em xin chân thành biết ơn Thầy Phạm Văn Tính tận tình hướng dẫn, bảo giúp đỡ chúng em suốt trình thực đề tài nghiên cứu Chúng em chân thành cám ơn anh Phạm Trung đã tận tình giú p đỡ chúng em ś t quá trình tìm hiểu thực đề tài Ngồi chúng em cịn xin gửi lời cảm ơn tới nhà Trường, văn phòng Khoa Công nghệ thông tin bạn bè người chân thành giúp đỡ chúng em thời gian qua Trong trình thực đề tài nghiên cứu, thành viên cố gắng nỗ lực thực chúng em tránh sai sót định Kính mong thơng cảm tận tình bảo q Thầy Cơ Sinh viên thực Lê Võ Minh Tâm Trần Thị Dinh GVHD: TS Phạm Văn Tính I SVTH: Tâm, Dinh DANH SÁCH CHỮ VIẾT TẮT HĐH Hệ Điều Hành J2ME Java Platform, Micro Edition Java phiên nhỏ gọn API Application Programming Interface Giao diện lập trình ứng dụng MVC Model-View-Controller SDK Software Development Kit Bộ phát triển phần mềm IB Interface Builder Công cụ xây dụng giao diện GVHD: TS Phạm Văn Tính II SVTH: Tâm, Dinh MỤC LỤC LỜI CẢM ƠN I DANH SÁCH CHỮ VIẾT TẮT .II MỤC LỤC III DANH MỤC CÁC HÌNH VII DANH MỤC CÁC BẢNG XV TÓM TẮT XVII CHƢƠNG 1: MỞ ĐẦU 1.1 LÝ DO CHỌN ĐỀ TÀI 1.2 MỤC TIÊU NGHIÊN CỨU 1.3 NỘI DUNG NGHIÊN CỨU 1.4 PHẠM VI NGHIÊN CỨU 1.4.1 VỀ THỜI GIAN 1.4.2 VỀ KHÔNG GIAN 1.4.3 VỀ NỘI DUNG CHƢƠNG 2: TỔNG QUAN 2.1 ĐẶT VẤN ĐỀ 2.2 TỔNG QUAN VỀ LẬP TRÌNH TRÊN iOS 2.2.1 TỔNG QUAN VỀ LẬP TRÌNH TRÊN THIẾT BỊ DI ĐỘNG 2.2.2 TỔNG QUAN VỀ LẬP TRÌNH TRÊN iOS 2.2.3 LẬP TRÌNH CHO THIẾT BỊ iOS Ở VIỆT NAM CHƢƠNG 3: NỘI DUNG NGHIÊN CỨU 11 3.1 LẬP TRÌNH TRÊN iOS 11 3.1.1 GIỚI THIỆU VỀLẬP TRÌNH TRÊN iOS 11 3.1.2 TỔNG QUAN QUÁ TRÌNH PHÁT TRIỂN MỘT ỨNG DỤNG TRÊN iOS 11 3.1.3 KIẾN TRÚC PHÂN LỚP CỦA iOS 30 3.1.4 LÀM VIỆC VỚI XCODE VÀ TẠO MỘT PROJECT ĐƠN GIẢN 32 3.1.5 NGƠN NGỮ LẬP TRÌNH OBJECTIVE-C 35 3.1.6 VIEW VÀ VIEW CONTROLLER 53 GVHD: TS Phạm Văn Tính III SVTH: Tâm, Dinh 3.1.7 MỘT SỐ VIEW CƠ BẢN 59 3.1.8 THAO TÁC CHẠM TRÊN MÀN HÌNH – GESTURE RECOGNIZERS 62 3.1.9 STORYBOARD 75 3.1.10 SEGUES 76 3.1.11 TOOLBAR 82 3.1.12 IMAGE/SCROLL/WEBVIEWS 83 3.1.13 TABLE VIEW 87 3.1.14 CORE LOCATION, MAPKIT 98 3.1.15 PERSISTENCE 101 3.1.16 MOTION EVENT 115 3.1.17 iCLOUD 122 3.2 GAME ENGINE COCOS2D 123 3.2.1 GIỚI THIỆU GAME ENGINE COCOS2D iPHONE 123 3.2.2 CÀI ĐẶT VÀ SỬ DỤNG ARC TRONG COCOS2D 125 3.2.3 KHÁI NIỆM CĂN BẢN TRONG COCOS2D iPHONE 133 3.2.4 SPRITE 151 3.2.5 MEMORY MANAGER COCOS2D 162 3.2.6 COCOS2D API REFERENCE 163 3.3 PHYSIC ENGINE BOX2D 164 3.3.1 TỔNG QUAN VỀ PHYSIC ENGINE 164 3.3.2 GIỚI THIỆU BOX2D 166 3.3.3 HELLO WORLD, BOX2D! 167 3.3.4 KHÁI NIỆM CĂN BẢN CỦA BOX2D 169 3.3.5 THÀNH PHẦN CỦA BOX2D 172 3.3.6 BOX2D API REFERENCE 224 CHƢƠNG 4: ỨNG DỤNG GAME ENGINE COCOS2D VÀ PHYSIC ENGINE BOX2D PHÂN TÍCH THIẾT KẾ GAME TRÊN iOS 225 4.1 MÔ TẢ BÀI TOÁN 225 4.1.1 Overview 225 GVHD: TS Phạm Văn Tính IV SVTH: Tâm, Dinh 4.1.2 Gameplay 225 4.1.3 Levelling 225 4.1.4 Ball 227 4.1.5 Obstacles 227 4.1.6 Types of Obstacles 227 4.2 YÊU CẦU BÀI TOÁN 227 4.2.1 YÊU CẦU CHỨC NĂNG 227 4.2.2 YÊU CẦU PHI CHỨC NĂNG 228 4.3 PHÂN TÍCH BÀI TỐN 229 4.3.1 MƠ HÌNH USECASE 229 4.3.1 MƠ HÌNH CLASS MODEL 243 4.4 USER INTERFACE 244 4.4.1 Bố cục màn hình 244 4.4.2 Main Menu 244 Levels Menu 244 Play Game 244 Pause Menu 244 Victory Menu 245 Change Setting 245 View Credits 245 4.5 HIỆN THỰC BÀI TOÁN 245 4.5.1 Di chuyển viên bi Game với UIAccelerometer và Box2D 245 4.5.2 Xử lý kiện xảy va chạm 247 4.5.3 Chơi nhạc và âm hiệu ứng Game 250 4.5.4 Thao tác với Property List để đọc và ghi File 250 4.5.5 Lắng nghe và xử lý kiện xảy va chạm 253 4.5.6 Pause và Resume Game 256 4.5.7 Slider Picker cho việc điều chỉnh âm lƣợng (tham khảo Vấn Đề Gặp Phải) 257 4.5.8 Popup Menu game 257 GVHD: TS Phạm Văn Tính V SVTH: Tâm, Dinh 4.6 CÁC VẤN ĐỀ GẶP PHẢI 259 4.6.1 MÔ PHỎNG CHUYỂN ĐỘNG VẬT LÝ CỦA BALL 259 4.6.2 XÁC ĐỊNH HƢỚNG CHUYỂN ĐỘNG CỦA BULLET, CANON 266 4.6.3 SLIDER PICKER TRONG COCOS2D V2.X 267 4.6.4 MENU GRID CÓ KHẢ NĂNG CUỘN TRONG COCO2D V2.X 272 4.6.5 ĐỒ HỌA TRONG GAME 274 4.6.6 THAY ĐỔI TRẠNG THÁI, THUỘC TÍNH CỦA PHYSIC BODY KHI ĐANG THỰC HIỆN MƠ PHỎNG VẬT LÝ VỚI BOX2D 274 4.6.7 LỖI DO SAI ĐỊNH DẠNG FILE MÃ NGỒN 275 4.6.8 LỖI KHI BIÊN DỊCH FILE CỦA C++ 276 4.6.9 TRIỂN KHAI TRÊN THIẾT BỊ THẬT 276 4.6.10 THIẾU TRANG THIẾT BỊ CẦN THIẾT 280 4.6.11 MỘT SỐ KHÓ KHĂN KHÁC 280 CHƢƠNG 5: KẾT QUẢ ĐẠT ĐƢỢC VÀ HƢỚNG PHÁT TRIỂN 282 5.1 KẾT QUẢ ĐẠT ĐƢỢC 282 5.1.1 KIẾN THỨC 282 5.1.2 SẢN PHẨM 283 5.2 HẠN CHẾ VÀ HƢỚNG PHÁT TRIỂN 287 5.2.1 HẠN CHẾ: 287 5.2.2 Hƣớng phát triển: 287 TÀI LIỆU THAM KHẢO 289 SÁCH THAM KHẢO 289 TRANG WEB THAM KHẢO 289 VIDEO 290 PHỤ LỤC A : Đƣa ứng dụng lên App Store 292 GVHD: TS Phạm Văn Tính VI SVTH: Tâm, Dinh http://apple.stackexchange.com/questions/82896/is-it-possible-to-compileand-run-an-xcode-project-on-a-jailbroken-device-withou  Knowledge Physics https://www.khanacademy.org/science/physics/forces-newtonslaws/inclined-planes-friction/v/static-and-kinetic-friction-example http://vi.wikipedia.org/ http://en.wikipedia.org/  Turtorials http://www.raywenderlich.com/  Discuss Problems http://www.raywenderlich.com/forums/ http://www.iforce2d.net/b2dtut/ http://www.cocos2d-iphone.org/forums  Sound / Music Source http://www.raywenderlich.com/forums/ https://soundcloud.com/groups/movie-game-background-music-soundtrack- music  Fonts Source http://openfontlibrary.org/ http://www.dafont.com/ http://www.acidfonts.com/ etc VIDEO Paul Hegarty, iPad and iPhone Application Development (HD), Standford, edu., 2011 https://itunes.apple.com/us/itunes-u/ipad-iphone-applicationdevelopment/id473757255 Deke McClelland, Illustrator CS6 One-on-One, linda.com, Inc., 2012 GVHD: TS Phạm Văn Tính 290 SVTH: Tâm, Dinh http://www.lynda.com/Illustrator-tutorials/Illustrator-CS6-One-OneIntermediate/105382-2.html GVHD: TS Phạm Văn Tính 291 SVTH: Tâm, Dinh PHỤ LỤC A : Đƣa ứng dụng lên App Store Để đƣa ứng dụng lên App Store thực bƣớc sau Chạy ứng dụng thiết bị thật - Kết nối với iTunes Connect - Chi tiết bƣớc thực nhƣ sau: Chạy ứng dụng thiết bị thật Bƣớc 1: Trƣớc tiên kết nối thết bị đăng ký trƣớc với máy tính mở Xcode Organizer từ Xcode và chọn ―Use for Development‖ Hình 0.1 Xcode Organizer Bƣớc 2: Sau Apple yêu cầu đăng nhập vào tài khoản developer Bƣớc 3: Nếu tài khoản thực đăng ký profile và đăng ký thiết bị có kết nhƣ hình sau: Hình 0.2 Sau đăng nhập vào tài khoản developer Bƣớc 4: Tiếp theo thực chạy ứng dụng sang thiết bị thật Mở project muốn chạy thiết bị thật thực theo bƣớc hình: GVHD: TS Phạm Văn Tính 292 SVTH: Tâm, Dinh Hình 0.3 Cấu hình project Bƣớc 5: Chọn tab Info thay đổi Bundle Indentifier cho giống với Bundle Indentifier đăng ký Provisioning profile: Hình 0.4 Bundle identifier Bƣớc 6: Chọn tab Build Settings tìm với từ khóa: ―signing‖ sau chọn signing tạo: Hình 0.5 Chọn signning Bƣớc 7: Sau chọn build thiết bị thật: GVHD: TS Phạm Văn Tính 293 SVTH: Tâm, Dinh Hình 0.6 Chọn Build project thiết bị thật Nếu có lỗi xảyr a bundle indentifier chƣa khớp với profile kiểm tra lại và build lại: Kết nối với iTunes Connecter để upload ứng dụng lên App Store Tiếp theo đăng nhập vào iTunes Connecter theo link sau: https://itunesconnect.apple.com/ Sau để upload ứng dụng lên app store thực theo ba bƣớc: CHƢƠNG 6: Nhập thông tin để giao dịch với Apple CHƢƠNG 7: Nhập thông tin ứng dụng CHƢƠNG 8: Upload ứng dụng từ xcode Chi tiết bƣớc nhƣ sau: Bước 1: Nhập thông tin để giao dịch với Apple: Các thông tin yêu cầu bao gồm thông tin liên hệ - contract, thuế - Tax, ngân hàng giao dịch – Bank Sau đăng nhập chọn Contracts, Tax, Banking nhƣ sau: GVHD: TS Phạm Văn Tính 294 SVTH: Tâm, Dinh Hình 0.7 Sau đăng nhập vào iTunes Connecter Trong cửa sổ chọn request: Hình 0.8 Chọn request Contracts Đồng ý với điều khoản Apple hoàn thành request thứ Thực bƣớc tƣơng tự với iAd contract: Sau giao diện Contracts, Tax, Banking chọn Set Up cột ―Contact Info‖ để thêm thông tin liên lạc: GVHD: TS Phạm Văn Tính 295 SVTH: Tâm, Dinh Hình 0.9 Set Up Contact Info Chọn Add new Contact Điền đầy đủ thơng tin sau: Hình 0.10 Nhập thơng tin liên lạc Sau chọn ―Done‖ để hoàn thành contact infor Tiếp theo thực nhập thông tin tài khoản ngân hàng, click button ―Set Up‖ cột ―Bank Info‖trong giao diện chọn ―Add Bank Account‖ Hình 0.11 Add Bank Acount Tiếp theo lựa chọn quốc gia ngân hàng đƣợc sử dụng giao dịch: Tiếp tục hoàn thiện thông tin ngân hàng: GVHD: TS Phạm Văn Tính 296 SVTH: Tâm, Dinh Hình 0.12 Nhập thơng tin ngân hàng sủ dụng giao dịch Sau điền đủ thông tin thực lƣu lại: Lƣu lại ngân hàng thêm vào thành ngân hàng sử dụng để giao dịch Hình 0.13 Chọn ngân hàng tạo làm ngân hàng giao dịch Tiếp theo nhập thông tin thuế, chọn ―Set Up‖ bên dƣới cột ―Tax Info‖ US Tax Form là yêu cầu bắt buộc chọn ―Set Up‖ nhƣ hình dƣới: Hình 0.14 Chọn ―Set up‖ tax form Sau nhập thông tin yêu cầu: GVHD: TS Phạm Văn Tính 297 SVTH: Tâm, Dinh Hình 0.15 Nhập thơng tin yêu cầu Tax Chọn confirm Hoàn thiện nhập thơng tin thuế Hình 0.16 Hoàn thiện thơng tin Contract, Tax, Bank Tới bƣớc này tất thông tin cần thiết để thực giao dịch với Apple hoàn thiện, bắt đầu thực upload ứng dụng Bước 2: Nhập thông tin ứng dụng GVHD: TS Phạm Văn Tính 298 SVTH: Tâm, Dinh Trƣớc tiên cần chuẩn bị:  Tên ứng dụng  Mô tả ứng dụng  App icon kích thƣớc 512x512 px  Chuẩn bị vài screenshot chụp lại màn hình giao diện ứng dụng Sau có sẵn sàng yêu cầu bắt đầu vào iTunes Connect chọn ―Manage Your Applications‖ Hình 0.17 Chọn ―Manage Your Applications‖ Tiếp theo ―Add chọn New App‖ Chọn ngôn ngữ và tên công ty đại diện Chú ý cân nhắc chọn tên cơng ty sau upload ứng dụng khó thay đổi thơng tin này Trong cửa sổ nhập thông tin ứng dụng: Hình 0.18 Nhập thơng tin ứng dụng Tiếp tục nhập thông tin ngày ứng dụng đƣợc đƣa lên app store và thông tin giá sản phầm GVHD: TS Phạm Văn Tính 299 SVTH: Tâm, Dinh Hình 0.19 Chọn ngày ứng dụng phát hành và thông tin giá ứng dụng Chọn price tier indicate ứng dụng là miễn phí App Store Cửa sổ yêu cầu nhập thông tin ứng dụng nhƣ metadata, mô tả ứng dụng icon screenshoot Tiếp tục nhập đầy đủ thơng tin này: Hình 0.20 Thơng tin mơ tả ứng dụng Hình 0.21 Upload icon và Scrennshots Sau hình đƣợc upload xong chọn save để lƣu lại thông tin nhập Tiếp theo chọn ―View Details‖ GVHD: TS Phạm Văn Tính 300 SVTH: Tâm, Dinh Hình 0.22 Chọn view details Trong màn hình tiếp chọn ―Ready to Upload Binary‖ Hình 0.23 Chọn ―Ready to Upload Binary‖ Cửa sổ hỏi việc có sử dụng thƣ việc mã hóa mặc định đƣợc cung cấp Apple API hay không Chọn câu trả lời sau lƣu lại: Tiếp theo nhận đƣợc vài hƣớng dấn upload ứng dụng từ Xcode chọn tiếp tục Cuối nhìn thấy trạng thái ứng dụng là chờ upload GVHD: TS Phạm Văn Tính 301 SVTH: Tâm, Dinh Hình 0.24 Trạng thái chờ upload ứng dụng Bước 3: Upload ứng dụng từ Xcode Mở Xcode chọn ―iOS deviece‖ để build nhƣ hình: Tiếp tục chọn ProductArchive Từ Organizer – Archives chọn ―Submit‖ Hình 0.25 Chọn ―Submit‖ để gửi ứng dụng Đăng nhập với tài khoản Developer Lựa chọn ―Identity‖ xác với Provisioning profile tạo nhấn ―Next‖ GVHD: TS Phạm Văn Tính 302 SVTH: Tâm, Dinh Hình 0.26 Chọn Identity xác Đợi cho ứng dụng upload Quá trình hoàn tất chọn ―Finish‖ Lúc này quay lại iTunes Connect thấy trạng thái ứng dụng thay đổi: ` Hình 0.27 Trạng thái ứng dụng iTunes Connect là ―Upload Received‖ Sau vài phút trạng thái này đổi thành ―Waiting For Review‖ GVHD: TS Phạm Văn Tính 303 SVTH: Tâm, Dinh Hình 0.28Trạng thái ứng dụng iTunes Connect là ―Waiting For Review‖ Hoàn thành trình uplaod ứng dụng và đợi Apple kiểm tra lại ứng dụng Thông thƣờng sau upload khoảng tuẩn trạng thái ứng dụng đổ thành ―In Review‖ sau là ―Approved‖ sau đổi thành ―Processing for App Store‖ khoảng vài phút sau đổi thành ―Ready for Sale‖ này ứng dụng thức đƣợc thơng qua để bán App Store vào này đƣợc định khai báo thơng tin ứng dụng Nếu ngày qua bắt đầu bán ứng dụng trạng thái Ready for Sale GVHD: TS Phạm Văn Tính 304 SVTH: Tâm, Dinh ... sinh: Ninh Bình I TÊN ĐỀ TÀI: Nghiên cứuxây dựng ứng dụng tảng iOS II NHIỆM VỤ VÀ NỘI DUNG - Nghiên cứu xây dựng ứng dụng tảng iOS - Nghiên cứu xây dựng ứng dụng iOS với hai framework Cocos2D... trung nghiên cứu phát triển ứng dụng tảng iOS Tìm hiểu quy trình phát triển ứng dụng tảng iOS từ việc lập trình xây dựng ứng dụng đến cách phân phối ứng dụng tảng iOS Với việc lập trình xây dựng ứng. .. dựng ứng dụng tảng iOS MỤC TIÊU NGHIÊN CỨU - Nghiên cứu lập trình tảng iOS - Từ phát triển game mô chuyển động vật lý tảng iOS - Xây dựng tài liệu hƣớng dẫn lập trình iOS NỘI DUNG NGHIÊN CỨU Đề

Ngày đăng: 26/02/2019, 13:30

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w