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

NGHIÊN CỨU LẬP TRÌNH IOS SWIFT - ỨNG DỤNG LẬP TRÌNH GAME FAPPY BIRD TRÊN NỀN TẢNG IOS

78 2 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

Tiêu đề NGHIÊN CỨU LẬP TRÌNH IOS SWIFT - ỨNG DỤNG LẬP TRÌNH GAME FAPPY BIRD TRÊN NỀN TẢNG IOS
Tác giả Nguyễn Công Phước
Người hướng dẫn TS. Lê Tân
Trường học Trường CĐ Công Nghệ Thông Tin Hữu Nghị Việt - Hàn
Chuyên ngành Công Nghệ Thông Tin
Thể loại Đồ án tốt nghiệp
Năm xuất bản 2016
Thành phố Đà Nẵng
Định dạng
Số trang 78
Dung lượng 5,98 MB

Nội dung

Công Nghệ Thông Tin, it, phầm mềm, website, web, mobile app, trí tuệ nhân tạo, blockchain, AI, machine learning - Công Nghệ Thông Tin, it, phầm mềm, website, web, mobile app, trí tuệ nhân tạo, blockchain, AI, machine learning - Công nghệ thông tin i LỜI CẢM ƠN Trên thực tế không có sự thành công nào mà không gắn liền với những sự hỗ trợ, giúp đỡ dù ít hay nhiều, dù trực tiếp hay gián tiếp của người khác. Trong suốt thờ i gian từ khi bắt đầu học tập ở giảng đường cao đẳng đến nay, em đã nhận được rấ t nhiều sự quan tâm, giúp đỡ của quý Thầy Cô, gia đình và bạn bè. Với lòng biết ơn sâu sắc nhất, em xin gửi đến quý Thầy Cô ở Khoa Công Nghệ Thông Tin – Trường CĐ Công Nghệ Thông Tin Hữu Nghị Việt - Hàn đã cùng vớ i tri thức và tâm huyết của mình để truyền đạt vốn kiến thứ c quý báu cho chúng em trong suốt thời gian học tập tại trường. Trong thời gian làm đồ án em đã gặp không ít khó khăn nhưng được sự giúp đỡ hướng dẫn tận tình của GVHD. Em xin chân thành cảm ơn TS. Lê Tân, người trực tiếp hướng dẫn đã tận tâm hướng dẫn và thảo luận về lĩnh vực ngôn ngữ lập trình mới. Nế u không có những lời hướng dẫn, dạy bảo của thầy thì em nghĩ bài thu hoạch này củ a em rất khó có thể hoàn thiện được. Một lần nữa, em xin chân thành cảm ơn thầy. Đồ án tốt nghiệp này được thực hiện trong khoảng thời gian gần 2 tháng. Bước đầu đi vào thực tế, tìm hiểu về lĩnh vực và ngôn ngữ mới trong nghành lậ p trình, do kiến thức của em còn hạn chế và cộng đồng chưa có nhiều nên còn nhiều bỡ ngỡ . Do vậy, không tránh khỏi những thiếu sót là điều chắc chắn, em rất mong nhận đượ c những ý kiến đóng góp quý báu của quý Thầy Cô và các bạn để kiến thức của em trong lĩnh vực này được hoàn thiện hơn. Sau cùng, em xin kính chúc quý Thầy Cô trong Khoa Công Nghệ Thông Tin và Thầy Hiệu Trưởng – TS Lê Tân thật dồi dào sức khỏe, niềm tin để tiếp tục thực hiệ n sứ mệnh cao đẹp của mình là truyền đạt kiến thức cho thế hệ mai sau. Em xin chân thành cám ơn. Đà Nẵng, ngày 30 tháng 05 năm 2016 Sinh viên thực hiện (ký và ghi họ tên) Nguyễn Công Phƣớc ii MỤC LỤC Trang LỜI CẢM ƠN .................................................................................................................i MỤC LỤC ..................................................................................................................... ii DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT .............................................iv DANH MỤC CÁC BẢNG............................................................................................. v DANH MỤC CÁC HINH VẼ, DỒ THỊ .....................................................................vi MỞ ĐẦU .........................................................................................................................1 PHẦN 1: CƠ SỞ LÝ THUYẾT ....................................................................................3 1.1. Nguồn gốc của hệ điều hành iOS và lịch sử phát triển: ..................................3 1.1.1 Nguồn gốc của hệ điều hành iOS ..................................................................3 1.1.2 Lịch sử phát triển ...........................................................................................3 1.1.3 Các phiên bản hệ điều hành iOS ...................................................................4 1.2 Đôi nét về lập trình iOS Swift và môi trƣờng lập trình iOS ..........................12 1.2.1 Đôi nét về lập trình iOS Swift.......................................................................12 1.2.2 Môi trường lập trình iOS ..............................................................................12 1.3 Giới thiệu cơ bản về phần mềm XCode và máy ảo iOS Simulator ...............13 1.3.1 Giới Thiệu Về phần mềm Xcode ..................................................................13 1.3.2 Giới Thiệu iOS Simulator.............................................................................15 PHẦN 2: NỘI DUNG VÀ KẾT QUẢ NGHIÊN CỨU .............................................16 2.1 Các tính năng của XCode và iOS Simulator ...................................................16 2.1.1 Các tính năng của XCode ............................................................................16 2.1.2 Các tính năng của iOS Simulator ................................................................ 27 2.2 Cơ bản về ngôn ngữ lập trình iOS Swift ..........................................................34 2.2.1 Những quy ước trong ngôn ngữ lập trình Swift .........................................34 2.2.2 Biến (VARIABLE) và hằng số (CONSTANT), cách khai báo biến và hằ ng số ......................................................................................................................35 2.2.3 Kiểu dữ liệu ...................................................................................................36 2.2.4 Các phép toán................................................................................................ 36 2.2.5 Hàm (Function) ............................................................................................ 36 2.2.6 Cấu trúc điều kiện.........................................................................................38 2.2.7 Cấu trúc lặp ...................................................................................................40 iii 2.2.8 Mảng (Array), Từ điển (Dictionary) và Tuples ...........................................42 2.2.9 Chuỗi .............................................................................................................44 2.3 Một số thao tác cơ bản trong lập trình iOS .....................................................44 2.3.1 App icon.........................................................................................................45 2.3.2 Loading Screen ............................................................................................. 46 2.3.3 Thay đổi App Name ......................................................................................47 2.3.4 Ẩn status bar .................................................................................................48 2.3.5 Background ..................................................................................................49 2.3.6 Thêm framework ........................................................................................... 53 2.4 Một số đối tƣợng cơ bản ....................................................................................54 2.4.1 Đối Tượng Label ........................................................................................... 54 2.4.2 Đối Tượng Button .........................................................................................54 2.4.3 Đối Tượng Text Field ...................................................................................55 PHẦN 3 : PHÂN TÍCH VÀ THIẾT KẾ....................................................................57 3.1 Giới thiệu bài toán .............................................................................................. 57 3.2 Mô hình hóa yêu cầu ..........................................................................................57 3.2.1 Xác định các tác nhân ..................................................................................57 3.2.2 Xác định các trường hợp sử dụng (Use case) .............................................57 3.2.2.1 Liệt kê các trường hợp sử dụng ............................................................... 57 3.2.2.2 Đặc tả các trường hợp sử dụng ............................................................... 57 3.2.2.3 Biểu đồ trường hợp sử dụng ....................................................................58 3.3 Mô hình hóa khái niệm ......................................................................................59 3.3.1 Các lớp biên...................................................................................................59 3.3.2 Các lớp điều khiển ........................................................................................59 3.4. Biểu đồ hoạt động .............................................................................................. 60 PHẦN 4: GIỚI THIỆU SẢN PHẨM GAME FLAPPY BIRD TRÊN NỀN TẢ NG IOS ................................................................................................................................ 61 4.1 Tổng quan về ứng dụng game Flappy Bird trên nền tảng iOS ......................61 4.2 Giao diện ứng dụng Game Flappy Bird ........................................................... 62 KẾT LUẬN ..................................................................................................................66 HỚNG PHÁT TRIỂN .............................................................................................. 67 TÀI LIỆU THAM KHẢO........................................................................................... 68 iv DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT CÁC CHỮ VIẾT TẮT: iOS Internetwork Operating System Hệ điều hành iOS chạy trên điện thoại iPhone Mac OS X Hệ điều hành Macintosh chạy trên máy tính Mac v DANH MỤC CÁC BẢNG Số hiệu bảng Tên bảng Trang 2.1 Các kiểu dữ liệu trong Swift 36 2.2 Các phép toán trong Swift 36 2.3 Các toán tử so sánh thông dụng 38 vi DANH MỤC CÁC HINH VẼ, DỒ THỊ Số hiệu hình vẽ Tên hình vẽ Trang 1.1 Giao diện iPhone OS 1.x 5 1.2 Giao diện iPhone OS 2.x 5 1.3 Giao diện bàn phím nằm ngang và tính năng copy paste 6 1.4 Giao diện chỉnh sửa video 6 1.5 Giao diện iOS 4 7 1.6 Trình phát nhạc 8 1.7 iOS 5 là phiên bản đầu tiên cho phép người dùng cập nhật firmware qua giao thức OTA (over-the-air) 8 1.8 Giao diện iOS 6 9 1.9 Giao diện iOS 7 10 1.10 Giao diện iOS 8 11 1.11 Giao diện iOS 9 11 1.12 Cửa hàng Apple Store trực tuyến 13 1.13 Phiên bản Xcode 7 trên trang Apple 13 1.14 Tải Xcode từ trang Developer 14 1.15 Cài đặt Xcode qua Apple Mac Store 15 2.1 Giao diện Navigator 16 2.2 Giao diện ứng dụng 17 2.3 Giao diện code 17 2.4 Giao diện quản lý chi tiết 18 2.5 Activity viewer 18 2.6 Toolbar Utility Area 19 2.7 Utility area 19 2.8 Kéo thả các đối tượng vào giao diện 20 2.9 Canh chỉnh vị trí theo đường kẻ xanh 21 2.10 Thay đổi thuộc tính của đối tượng 21 2.11 Tìm kiếm trong Library 22 2.12 Hai tập tin sử dụng để viết code cho ứng dụng 22 vii 2.13 Ánh xạ đối tượng vào tập tin .h 23 2.14 Lựa chọn kiểu ánh xạ 23 2.15 Gợi ý khắc phục lỗi 24 2.16 Chia đôi màn hình Editor để tiện làm việc 24 2.17 Tùy chỉnh Font Color cho giao diện lập trình code của Xcode 25 2.18 Lựa chọn thiết bị iOS Simulator 25 2.19 Nhấn Stop để dừng chương trình 26 2.20 Vùng Debug Navigator 26 2.21 Vùng Debug area 26 2.22 Đánh dấu Breakpoint 27 2.23 Thu gọn đoạn code 27 2.24 Chọn Run để mở iOS Simulator 28 2.25 Mở iOS Simulator trong Menu 28 2.26 Trong menu chọn Quit iOS Simulator 29 2.27 Trong menu chọn xoay màn hình iOS Simulator 29 2.28 ẨnHiện keyboard trong iOS Simulator 30 2.29 Gỡ ứng dụng trong iOS Simulator 30 2.30 Tải thêm các iOS Simulator phiên bản cũ hoặc tài liệu 31 2.31 Chụp ảnh màn hình iOS Simulator 31 2.32 Chọn Select hoặc Select All 32 2.33 Lựa chọn chuỗi cần copy và chọn Copy 32 2.34 Paste từ Mac OS vào iOS Simulator 33 2.35 Chọn Paste 33 2.36 Icon 45 2.37 Kéo thả icon vào vị trí 45 2.38 Icon trên iOS simulator 46 2.39 Chuẩn bị Background 46 2.40 Kéo thả background image vào Lauch Image 47 2.41 Truy cập tập tin .plist 47 2.42 Sửa đổi Bundle display name 48 viii 2.43 Thay đổi tên trên iOS Simulator 48 2.44 Thêm dòng mới 48 2.45 Chọn giá trị Yes 49 2.46 Thanh trạng thái Status bar đã mất 49 2.47 Background Image 50 2.48 Chép hình ảnh vào Project 50 2.49 Kéo thả UIImage View vào Project 50 2.50 Lựa chọn hình ảnh làm background 51 2.51 Thay đổi background bằng image 51 2.52 Attributes inspector 52 2.53 Chọn màu 52 2.54 Background thay đổi 52 2.55 Link Frameworks and Libraries 53 2.56 Chọn Framework 53 2.57 Chọn Add 53 2.58 Label 54 2.59 Thuộc tính của Label 54 2.60 Button 55 2.61 Thuộc tính của button 55 2.62 Text Field 56 2.63 Thuộc tính của Text Field 56 3.1 Biểu đồ trường hợp sử dụng Người chơi 58 3.2 Các lớp biên 59 3.3 Lớp điều khiển 59 3.4 Biểu đồ hoạt động 60 4.1 Màn hình Giới thiệu khi chạy Game trên máy ảo iOS 62 4.2 Giao diện ứng dụng Game 63 4.3 Giao diện ứng dụng Game 64 4.4 Giao diện ứng dụng Game 65 Nghiên cứu lập trình IOS Swift - Ứng dụng lập trình game Fappy Bird trên nền tảng IOS Nguyễn Công Phước – CCLT07A 1 MỞ ĐẦU  Lý do chọn đề tài Với sự phát triển nhanh chóng của khoa học công nghệ và đặc biệt là ngành công nghệ thông tin, làm từng bước thay đổi cuộc sống của con người bởi các ứng dụng của sản phẩm của công nghệ. Điện thoại di động là một thứ không thể thiếu trong cuộc sống của chúng ta. Đặc biệt là điện thoại thông minh. Cả thế giới đã công nhận rằng: Sự thành công của iPhone phần lớn đến từ nền tảng iOS, không chỉ được tối ưu với phần cứng, nền tảng này còn có tính bảo mật cao. Apple cùng với những chiếc iPhone đã thay đổi hoàn toàn lịch sử của ngành công nghệ di động, mở ra những khái niệm hoàn toàn mới khiến các hãng cạnh tranh luôn phải chạy theo. Song song với sự thành công của thiết bị chính là hệ điều hành iOS độc quyền của hãng. Năm 2016, bên cạnh những chiếc iPhone, iPad, chúng ta đã được chứng kiến những bom tấn ra mắt như Apple Watch, Apple Tivi và còn biết bao nhiêu bí mật khác mà Apple đang chuẩn bị tung ra thị trường. Cũng chính vì vậy, mà việc làm dành cho những Lập trình viên iOS sẽ ngày càng tăng dữ dội. Swift là một ngôn ngữ lập trình hướng đối tượng dành cho việc phát triển iOS và OS X, được giới thiệu bởi Apple tại hội nghị WWDC 2014. Đây là ngôn ngữ tiềm năng, được thừa kế từ Objective-C nhưng dễ học hơn Objective-C, để tiếp cận được Swift thì Objective-C là ngôn ngữ cơ bản mà các lập trình viên iOS cần phải nắm vững. Swift được thiết kế là một ngôn ngữ có khả năng phòng chống lỗi cao. Nó được biên dịch với trình biên dịch LLVM. Điểm yếu lớn nhất của Swift có lẽ sẽ là tuổi đời quá trẻ của ngôn ngữ lập trình này. Cụ thể hơn, để sử dụng Swift, các nhà phát triển sẽ phải học lại một ngôn ngữ lập trình hoàn toàn mới. Và cộng đồng cũng chưa có nhiều, Các nhà phát triển ứng dụng iOS sẽ mất một khoảng thời gian đáng kể để làm chủ ngôn ngữ mới của Apple. Và đối với nhưng lập trình viên mới gia nhập vào ngôi nhà lập trình iOS, Objective-C là ngôn ngữ cơ bản phải nắm được và là nền tảng cho việc tiếp cận Swift. Điều đó làm cho lập trình iOS ngày càng khó hơn. Mục đích của đề tài lần này là tìm hiểu về ngôn ngữ lập trình mới, nghiên cứu và xây dựng được một ứng dụng thực tế. Em mong rằng qua đề tài này, em sẽ có thêm nhiều động lực và nền tảng cơ bản để bước tiếp con đường đam mê lập trình iOS của Nghiên cứu lập trình IOS Swift - Ứng dụng lập trình game Fappy Bird trên nền tảng IOS Nguyễn Công Phước – CCLT07A 2 mình. Đây cũng chính là lý do chính mà em chọn đề tài này làm đề tài tốt nghiệp của mình.  Mục tiêu và nhiệm vụ nghiên cứu Nhằm tìm hiểu và nghiên cứu để biết được cách thức xây dựng một ứng dụng mang tính thực tế trên hệ điều hành IOS, tìm hiểu thêm về ứng dụng game trên hệ điều hành IOS và cách tạo ra nó. Hiểu về nguyên lý hoạt động của IOS, các thành phần của hệ thống cũng như của một ứng dụng thực thi trên nền tảng IOS. Áp dụng thiết kế ứng dụng game Flappy Bird chạy trên nền tảng IOS.  Đối tƣợng và phạm vi nghiên cứu o Đối tƣợng:  Ngôn ngữ Swift.  Công cụ phát triển ứng dụng XCode và iOS SDK.  Máy ảo iOS Simulator.  Hệ điều hành và tài nguyên hệ thống IOS. o Phạm vi:  Nghiên cứu cách thức tạo nên ứng dụng trên IOS.  Các thao tác cơ bản  Nghiên cứu ngôn ngữ Swift  Phƣơng pháp nghiên cứu. Nghiên cứu và thu thập tài liệu, các phương pháp để ứng dụng liên quan đến đề tài. S ử dụng trực tiếp hệ điều hành Mac OS X để cài đặt và sử dụng. Tiếp cận ngôn ngữ Swift qua tài liệu liên quan.  Ý nghĩa khoa học và thực tiễn o Ý nghĩa khoa học: Hiểu được cơ bản về ngôn ngữ Swift và cách thức tạo nên ứng dụng trên IOS. o Ý nghĩa thực tiễn: Thiết kế được ứng dụng game Flappy Bird trên iOS. Nghiên cứu lập trình IOS Swift - Ứng dụng lập trình game Fappy Bird trên nền tảng IOS Nguyễn Công Phước – CCLT07A 3 PHẦN 1: CƠ SỞ LÝ THUYẾT 1.1. Nguồn gốc của hệ điều hành iOS và lịch sử phát triển: 1.1.1 Nguồn gốc của hệ điều hành iOS Apple Inc. là tập đoàn công nghệ máy tính của Mỹ được sáng lập là Stephen Wozniak, Steve Jobs và Ronald Wayne, có trụ sở chính đặt tại Silicon Valley (Thung Lũng Si-li-côn) ở San Francisco, tiểu bang California. Aplle được biết đến với nhiề u sản phẩm là máy tính cá nhân, phần mềm, phần cứng, thiết bị nghe nhạc và nhiều thiế t bị đa phương tiện khác. Sản phẩm nổi tiếng nhấ t là máy tính Apple Macintosh, máy nghe nhạc iPod (2001), chương trình nghe nhạc iTunes, điện thoạ i iPhone (2007), máy tính bảng iPad (2010) và đồng hồ thông minh Apple Watch (2014-2015) hoạt độ ng trên nhiều quốc gia trên thế giới. iOS là từ viết tắt của Internetwork Operating System, là hệ điều hành mạ ng của Cisco, giúp cho các thiết bị của Cisco (switch, router) sử dụng được các tập hợ p chức năng mạng chạy trên nó (routing, packet switching...) để xây dự ng và hình thành nên hệ thống mạng. iOS có nguồn gốc từ OS X, mà nó chia sẻ nền tảng Darwin. iOS là phiên bản di động của Apple OS X - hệ điều hành được sử dụng trên các máy tính củ a Apple. iOS là một hệ thống điều hành điện thoại di động phát triển và phân phối bở i Apple Inc phát hành năm 2007 cho iPhone và iPod Touch, nó đã được mở rộng để hỗ trợ các thiết bị khác của Apple như iPad và Apple TV. Apple không cấp phép cho iOS để cài đặt trên phần cứng không phải của Apple. 1.1.2 Lịch sử phát triển iOS là hệ điều hành trên các thiết bị di động của Apple. Ban đầu hệ điề u hành này chỉ được phát triển để chạy trên iPhone, nhưng sau đó nó đã được mở rộng để chạy trên các thiết bị của Apple như iPod touch, iPad và Apple TV. Ngày 08 tháng 6, 2015, theo số liệu thống kê ở hội nghị WWDC năm 2015, tổng số lượng ứng dụng trên App Store đã vượt mốc 1,5 triệu ứng dụng, số lượng ứng dụng trung bình mà mỗi người dùng đang sử dụng là 119 ứng dụng. Cứ mỗi giây trôi qua, App Store lại chứ ng kiến 850 lượt tải. App Store đã vượt qua mốc 100 tỷ lượt tải ứng dụng. Giao diện người dùng của iOS dựa trên cơ sở thao tác bằng tay. Ngườ i dùng có thể tương tác với hệ điều hành này thông qua rất nhiều động tác bằ ng tay trên màn hình cảm ứng của các thiết bị của Apple. Nghiên cứu lập trình IOS Swift - Ứng dụng lập trình game Fappy Bird trên nền tảng IOS Nguyễn Công Phước – CCLT07A 4 Hệ điều hành di dộng của Apple được công bố cùng chiếc iPhone 2G tạ i Macworld Conference Expo vào ngày 912007 và chính thức phát hành trong tháng 6 sau đó. Khi ra mắt, hệ điều hành này không được Apple chỉ định mộ t cái tên riêng biệt mà chỉ đơn giản gọi là "hệ điều hành X dành cho iPhone” và không hỗ trợ các ứ ng dụng từ các nhà phát triển thứ 3. Nguyên nhân của việc từ chối các ứng dụng từ bên thứ 3 được Steve Jobs đưa ra là các nhà phát triển có thể xây dựng ứng dụ ng trùng chức năng với các ứng dụng gốc trên iPhone. Đến ngày 17 10 2007, Apple thông báo đã phát triển bộ công cụ phát triể n phần mềm (SDK) và lên kế hoạch chuyển chúng đến tay các nhà phát triển vào tháng 2 năm 2008. Sau đó ngày 632008, Apple phát hành phiên bản thử nghiệm (beta) đầ u tiên của bộ công cụ này cùng với một cái tên mới cho hệ điều hành, "iPhone OS". Tháng 9 năm 2009, iPod touch ra đời mang trên mình “iPhone OS” với hầu hế t chức năng hiện có ngoại trừ khả năng gọi, nhắn tin hay các dịch vụ từ nhà mạng khác. Và đến mùa lễ cuối năm này, Apple cũng đạt doanh số hơn một triệu chiếc iPhone. Ngày 2712010, sau sự thành công của iPhone và iPod touch, Apple tiếp tụ c giới thiệu iPad sử dụng hệ điều hành được tùy chỉnh từ “iPhone OS” với mộ t màn hình lớn hơn so với iPhone và iPod touch được thiết kế để duyệt web, đọc sách, giải t rí đa phương tiện… Cuối cùng đến tháng 6 năm 2010, Apple chính thức đổi tên “iPhone OS” thành một cái tên mới đơn giản, dễ nhớ hơn được mua từ hãng sản xuất thiết bị mạng Cisco, đó là "iOS" và được sử dụng cho đến ngày hôm nay. 1.1.3 Các phiên bản hệ điều hành iOS Nền tảng di động iOS của Apple đã tồn tại được một khoảng thời gian dài, kể từ thời điểm mà người dùng chỉ biết iPhone chứ chưa rõ hệ điều hành gì, cho đến hiện tạ i là iOS 9. Mời các bạn cùng nhìn lại lịch sử 9 đời của nền tảng này.  iPhone OS Hệ điều hành này được tiết lộ tại Hội nghị và Triển lãm Macworld diễn ra vào tháng 12007 và được phát hành vào tháng 9 năm đó. Khi đó, hệ điều hành này chưa có một cái tên "độc quyền" nên chỉ đơn giản gọi là "iPhone chạy OS X". Ban đầu, ứ ng dụng bên thứ ba không được hỗ trợ. Steve Jobs đã chỉ ra rằng những nhà phát triể n có thể xây dựng các ứng dụng web mà "sẽ vận hành như những ứng dụng ban đầ u trên iPhone". Nghiên cứu lập trình IOS Swift - Ứng dụng lập trình game Fappy Bird trên nền tảng IOS Nguyễn Công Phước – CCLT07A 5 Hình 1.1 Giao diện iPhone OS 1.x Không như bất kỳ hệ điều hành di động nào khác cùng thời điểm, Apple chỉ dựa vào thao tác cảm ứng vì không dùng bàn phím cứng. Khi đó, chưa có App Store , không thể chụp được ảnh màn hình. Một điều thú vị là phiên bản sau cùng củ a iPhone OS 1.x là 1.1.5, lại ra đời ngay sau khi iPhone OS 2 được tiết lộ.  iPhone OS 2 Đến năm 2008, Apple chính thức trình làng iPhone OS 2.x, nền tảng này ra đờ i chủ yếu để vá hầu hết các lỗi góp mặt trên phiên bản tiền nhiệm. Quan trọng nhất là sự xuất hiện của kho ứng dụng trực tuyến App Store, cho phép ngườ i dùng iPhone và iPhone 3G tải về các ứng dụng và trò chơi. Hình 1.2 Giao diện iPhone OS 2.x Nghiên cứu lập trình IOS Swift - Ứng dụng lập trình game Fappy Bird trên nền tảng IOS Nguyễn Công Phước – CCLT07A 6 Chắc chắn, bản cập nhật này đã mang lại rất nhiều điều mới lạ cho ngườ i dùng. Trong số đó phải kể đến chính là ứng dụng Danh bạ được trang bị tính năng tìm kiế m và nâng cấp ứng dụng máy tính để giải quyết được các bài toán phức tạp hơn.  iPhone OS 3 (iOS 3) Bước sang năm 2009, Apple phát hành phiên bản thứ ba của hệ điều hành di động "cây nhà lá vườn". Mặc dù không có nhiều đột phá, nhưng iPhone OS 3.x đã mang đến hàng loạt các tính năng mới rất hấp dẫn. Hình 1.3 Giao diện bàn phím nằm ngang và tính năng copy paste Đáng chú ý nhất là tính năng quay và chỉnh sửa video, tin nhắn MMS, lệ nh bằng giọng nói (chỉ mới có trên iPhone 3GS), sao chép dán, tìm kiếm spotlight, chế độ bàn phím nằm ngang khi vào Mail và tin nhắn, một số ứng dụng mặc định mới như: Voice Memos, la bàn, ... Hình 1.4 Giao diện chỉnh sửa video Nghiên cứu lập trình IOS Swift - Ứng dụng lập trình game Fappy Bird trên nền tảng IOS Nguyễn Công Phước – CCLT07A 7 Đến tháng 62010, Apple quyết định đổi tên iPhone OS thành iOS và mang cả nền tảng này lên mẫu máy tính bảng đầu tiên của hãng - iPad. Do nhãn hi ệu "IOS" đã được Cisco dùng để đặt tên cho hệ điều hành của hãng này, nhằm tránh các vụ kiệ n cáo, Apple đã xin giấy phép sử dụng chung nhãn hiệu iOS từ Cisco.  iOS 4 iOS 4 ra đời vào năm 2010, mang đến hàng loạt các thay đổi mới cho nền tảng này. Đáng chú ý nhất là hỗ trợ hình nền và các chức năng đa tác vụ (đa nhiệm), tính năng này đã có mặt khá lâu trên các nền tảng khác. Hình 1.5 Giao diện iOS 4 iOS 4 cũng sử dụng nhiều hình ảnh chuyển động hơn trên toàn hệ thống so vớ i phiên bản tiền nhiệm, bổ sung chức năng sửa lỗi chính tả trên bàn phím, thống nhấ t hộp thư email, hỗ trợ thay đổi nhiều máy chủ… Ngoài ra, đây còn là phiên bản iOS đầu tiên không tương thích với iPhone thế hệ đầu. iOS 4.2.1 cũng không tương thích với iPhone 3G.  iOS 5 Apple đón chào năm 2011 bằng việc giới thiệu iOS 5, song hành cùng hơn 200 tính năng mới. Một con số thật ấn tượng, đúng không? Vâng, các tính năng nổi bậ t nhất trong số đó bao gồ m: Trung tâm thông báo (Notification Center), Siri, iMessage, iCloud, từ điển phổ quát, hỗ trợ Game Center, tích hợp mạng xã hội Twitter (bạn chỉ cần truy cập một lần với tài khoản Twitter từ menu Settings của thiết bị iOS, những lầ n sau Twitter sẽ được khởi động cùng với các ứng dụng khác như Contacts , Camera, Photos, Safari và Maps), ... Nghiên cứu lập trình IOS Swift - Ứng dụng lập trình game Fappy Bird trên nền tảng IOS Nguyễn Công Phước – CCLT07A 8 Hình 1.6 Trình phát nhạc Ngoài ra, Apple còn cung cấp thêm 2 tính năng thú vị cho trình duyệ t web Safari, bao gồm: Safari Reader, giúp bạn loại bỏ khỏi những thứ gây xao lãng nộ i dung bạn đang đọc như quảng cáo và chỉ để lại văn bản, hình ảnh của nộ i dung chính trên trang web, và liên tục điều chỉnh kích cỡ font cho phù hợp với thiết bị của bạn. Tính năng thứ hai của Safari có tên là Reading List, cho phép lưu lại nội dung web để xem tiếp vào lần sau. Hình 1.7 iOS 5 là phiên bản đầu tiên cho phép người dùng cập nhậ t firmware qua giao thức OTA (over-the-air) Newsstand (sạp báo) là tính năng hướng đến người tiêu dùng sử dụng các Nghiên cứu lập trình IOS Swift - Ứng dụng lập trình game Fappy Bird trên nền tảng IOS Nguyễn Công Phước – CCLT07A 9 phương tiện truyền thông. Newsstand là một nơi đặc biệt dành những người thích đọ c báo và tạp chí trên các thiết bị chạy iOS. Ngoài việc hiển thị một giao diện thân thiệ n, Newsstand còn cho phép bạn quản lí tất các đầu sách bạn mua trong quá trình sử dụng. Apple đã thỏa thuận với các nhà xuất bản lớn để cung cấp những đầu sách với nộ i dung tốt nhất cho người dùng iOS. Bạn cũng có thể đọc báo và tạp chí khi không kế t nối mạng bằng cách lưu các nội dung này để có thể xem offline.  iOS 6 iOS 6 được công bố vào năm 2012, mang đến nhiều cải tiến so với phiên bản trước, đáng kể nhất là Siri thông minh hơn (cung cấp chi tiết về phim, thể thao, nhà hàng, ứng dụng), tích hợp sâu với Facebook, ứng dụng bản đồ mới thay thế Google Maps, khả năng trả lời cuộc gọi bằng tin nhắn, chế độ Do Not Disturb, Passcode, Safari có thêm chế độ đọc ngoại tuyến (offline) cũng như nhiều tính năng khác trong Photo Stream, Email. Hình 1.8 Giao diện iOS 6 Một số ứng dụng được cài sẵn trong các phiên bản iOS trước đó như Google Maps và YouTube đều bị gỡ bỏ hết, động thái này nhằm giảm bớt sự phụ thuộ c vào Google của Apple. Dĩ nhiên, các ứng dụng này bạn có thể tải lại trên App Store. iOS 6 cũng giới thiệu loạt cài đặt bảo mật mới để người dùng cảm thấy an toàn hơn.  iOS 7 Kể từ iPhone OS, nền tảng di động của Apple đều có thiết kế na ná nhau và Nghiên cứu lập trình IOS Swift - Ứng dụng lập trình game Fappy Bird trên nền tảng IOS Nguyễn Công Phước – CCLT07A 10 không thay đổi gì nhiều ở mặt biểu tượng icon, kiểu chữ, cũng như giao diệ n. Tuy nhiên, với iOS 7, Apple đã đại tu lại hệ điều hành này, mang đế n cái nhìn hoàn toàn mới. iOS 7 mới mẻ hơn, sống động hơn, dùng giao diện phẳ ng và khác hoàn toàn so với thiết kế mô phỏng trước đây. Hình 1.9 Giao diện iOS 7 Ngoài phần "mặt tiền", iOS 7 còn mang đến loạt tính năng mới như: Control Center, Notification Center, đa nhiệm tốt hơn, ứng dụng Photos được nâng cấ p, AirDrop, Safari có thêm chế độ duyệt web toàn màn hình và vuốt. Ứng dụng chụp ả nh bổ sung thêm chế độ Burst Mode cho phép người dùng chụp liên tiếp 10 tấ m hìnhgiây khi nhấn giữ nút chụp, trong khi chế độ quay chậm Slo-Mo hỗ trợ quay video HD 720p với tốc độ 120 khung hìnhgiây. Bên cạnh đó, camera còn chụp được ảnh đị nh dạng vuông như Instagram.  iOS 8 iOS 8 được giới thiệu vào ngày 1892014, dành cho tất cả các thiết bị kể từ iPhone 4S, iPod 5, iPad 2 trở lên và được xem là phiên bản "mở" nhất từ trước đế n nay. Nó hỗ trợ bàn phím thứ ba, widget trong mục Today của Notification Center, mang đến trải nghiệm tương tự như của nền tảng đối thủ Google Android. Nghiên cứu lập trình IOS Swift - Ứng dụng lập trình game Fappy Bird trên nền tảng IOS Nguyễn Công Phước – CCLT07A 11 Hình 1.10 Giao diện iOS 8 Một số cải tiến khác đến cùng iOS 8 là thông báo tương tác hiệ n ra phía trên cùng màn hình, cho phép trả lời nhanh hoặc tắt; trình đơn đa nhiệ m (multi-tasking) hiển thị số liên lạc thường xuyên; tìm kiếm Spotlight hoàn thiện hơn. Health , tham vọng của Apple trong lĩnh vực theo dõi sức khỏe, y tế, cũng có mặt.  iOS 9 iOS 9 được giới thiệu vào ngày 1092015. Cải tiến quan trọng và đáng chú ý nhất của phiên bản iOS 9 này chính là trợ lý ảo Siri hay tính năng phân chia màn hình chạy đa nhiệm trên iPad. Hình 1.11 Giao diện iOS 9 Nghiên cứu lập trình IOS Swift - Ứng dụng lập trình game Fappy Bird trên nền tảng IOS Nguyễn Công Phước – CCLT07A 12 Ngoài ra, còn có các tính năng được cải tiến khác như bản đồ, ghi chú, ứ ng dụng tin tức mới với nhiều nội dung để bạn có thể đọc khi rảnh rỗi. Bạn có thể cài đặt iOS 9 mà không cần xóa bất cứ dữ liệu nào để lấy thêm bộ nhớ. iOS 9 chỉ chiếm 1, 3GB trong khi iOS 8 cần tới 4, 5 GB bộ nhớ trong. Đây là điều rất đáng mừng với những ai đang sử dụng iPhone phiên bản 16 GB. Hiệu suất làm việc của chiếc iPhone của bạn cũng tăng lên đáng kể khi iOS 9 sử dụng CPU và GPU một cách hiệu quả hơn. Thêm vào đó, mã mở khóa 4 ký tự cũng được thay bằng mã 6 ký tự, điều này giúp cho thiết bị dùng iOS của bạn trở nên an toàn hơn. 1.2 Đôi nét về lập trình iOS Swift và môi trƣờng lập trình iOS 1.2.1 Đôi nét về lập trình iOS Swift Swift là một ngôn ngữ lập trình hướng đối tượng (Mọi thứ trong Swift đều là hướng đối tượng, kể cả những giá trị như số 1, 2, 3… cũng là đối tượng). Swift đượ c Apple giới thiệu tại hội nghị WWDC 2014, ngôn ngữ này dùng để phát triển ứng dụng trên iOS và OS X. Trước đây Objective C là “đứa con nối dõi tông đường” củ a Apple, việc ra đời Swift có thể giúp các lập trình viên dễ dàng tiếp cận hơn, đặc biệ t nó là mã nguồn mở (các tài nguyên về Swift ta có thể tải về từ trang https:swift.org ). Apple vẫn chủ ý cho chạy song song 2 ngôn ngữ lập trình Objective-C và Swift. 1.2.2 Môi trường lập trình iOS Quá trình chuẩn bị trước khi bắt đầu lập trình ứng dụng trên iPhone là quá trình cơ bản cần phải chuẩn bị kỹ lưỡng. Quá trình này sẽ giúp chúng ta có các điều kiệ n cần thiết để có thể thuận lợi bắt đầu tìm hiểu về lập trình ứng dụng trên iPhone. Có 2 phƣơng pháp để chuẩn bị môi trƣờng lập trình iOS:  Sử Dụng Sản Phẩm Chính Hãng Apple.  Lập Trình Ứng Dụng Iphone Trên Windows bằng cách sử dụng máy ảo. Bạn có thể truy cập vào www.apple.com, sau đó lựa chọn Shop Mac để đế n chuyên mục bán các sản phẩm chạy Mac OS của Apple. Tại đây bạn có thể lựa chọ n nhiều loại sản phẩm khác nhau như Macbook Air, Macbook Pro, iMac, Mac mini…. Nghiên cứu lập trình IOS Swift - Ứng dụng lập trình game Fappy Bird trên nền tảng IOS Nguyễn Công Phước – CCLT07A 13 Hình 1.12 Cửa hàng Apple Store trực tuyến Hoặc bạn có thể mua tại các Shop có uy tín tại Việt Nam như F.Studio của FPT, đây là đơn vị phân phối được Apple chứng nhận. Nếu muốn lập trình ứng dụng cho iPhone, nhưng lại muốn thực hiện trên môi trường Windows để có thể thao tác thêm các công việc khác trên môi trường này, lự a chọn tốt nhất cho bạn lúc này chính là sử dụng một máy ảo chạy hệ điều hành Mac OS để lập trình. Tuy nhiên nếu bạn lựa chọn phương án này, cấu hình máy tính của bạ n phải mạnh, CPU xử lý tốt, và bạn nên dành ít nhất 3G RAM cho máy ảo hoạt động tốt hơn. Quá trình giả lập cần khá nhiều thời gian để tìm hiểu. 1.3 Giới thiệu cơ bản về phần mềm XCode và máy ảo iOS Simulator 1.3.1 Giới Thiệu Về phần mềm Xcode Phần mềm Xcode là bộ công cụ do Apple cung cấp cho các lập trình viên để lậ p trình ứng dụng cho các thiết bị chạy hệ điều hành của Apple. Phiên bản mới nhất hiệ n nay của Xcode là bản Xcode 7 trên trang Developer của Apple. Hình 1.13 Phiên bản Xcode 7 trên trang Apple Nghiên cứu lập trình IOS Swift - Ứng dụng lập trình game Fappy Bird trên nền tảng IOS Nguyễn Công Phước – CCLT07A 14 Sau khi bạn đã có được hệ điều hành Mac OS, việc tiếp theo bạn phải làm trướ c khi có thể bắt đầu lập trình ứng dụng iPhone là cài bộ công cụ lậ p trình Xcode do Apple cung cấp cho các nhà lập trình ứng dụng, để các nhà lập trình có thể phát triển ứng dụng cho cả iOS lẫn Mac OS. Việc cài đặt Xcode có nhiều cách, tùy theo bạ n chọn lựa cách nào phù hợp với bản thân.  Cài Đặt Thông Qua Bản Tải Về Từ Trang Dành Cho Developer Bạn truy cập vào trang www.developer.apple.com để tiến hành tải phiên bả n Xcode mới nhất (hoặc các phiên bản khác tùy theo nhu cầu của bạn). Yêu cầ u có tài khoản Developer ID. Hình 1.14 Tải Xcode từ trang Developer  Cài Đặt Thông Qua Apple Mac Store Đây là cách phổ biến nhất, vì việc tải Xcode trên Apple Store là miễ n phí, và chỉ cần bạn có một tài khoản Apple ID là được, không yêu cầu phả i là Developer ID. Bạn chỉ cần truy cập vào Apple Mac Store và tìm kiếm Xcode, bạn sẽ thấy kết quả là phần mềm Xcode Free, công việc bây giờ là bạn chỉ cần chọn Get  Install App và chờ đợi hoàn tất. Nghiên cứu lập trình IOS Swift - Ứng dụng lập trình game Fappy Bird trên nền tảng IOS Nguyễn Công Phước – CCLT07A 15 Hình 1.15 Cài đặt Xcode qua Apple Mac Store 1.3.2 Giới Thiệu iOS Simulator iOS Simulator là một phần trong bộ công cụ kèm theo của phần mề m Xcode. iOS Simulator chứa iOS SDK cho phép bạn chạy trên Mac OS để giả lập môi trườ ng iPhone, iPad nhằm phục vụ cho việc kiểm thử ứng dụng được viết ra trước khi kiể m thử ứng dụng trên thiết bị thật. iOS Simualtor cho phép bạn cài đặt nhiều thiết bị iOS khác nhau như iPhone , iPhone Rentina, iPad, iPad Rentina.. với nhiều phiên bản iOS khác nhau như 6.0, 6.1, 7.0…. Do đó bạn có thể dễ dàng xây dựng ứng dụng của mình dành cho phiên bả n iOS mới hoặc dùng cho cả phiên bản iOS cũ. Với iOS Simulator, bạn có thể kiểm thử ứng dụng của bạn về thiết kế giao diện, về tính năng của ứng dụng, từ đó có thể khắc phục các lỗi phát sinh, t ối ưu hóa ứng dụng trước khi bạn đem ứng dụng lên thiết bị thật. Ứng dụng iOS Simulator có thể chạy chung với phần mềm Xcode hoặc chạy độc lập đều được. Bạn có thể tương tác với iOS Simulator thông qua bàn phím, chuột để nhập dữ liệu cũng như điều khiển các sự kiện của người dùng. Phần này sẽ giúp bạ n tìm hiểu một số điểm cơ bản của iOS Simulator để hỗ trợ bạn tốt hơn trong quá trình viết ứng dụng cho iOS. Đặc biệt Nếu bạn muốn build chương trình chạy trên thiết bị thật thì cần đăng ký 1 tài khoản mất phí 99 1 năm. Nghiên cứu lập trình IOS Swift - Ứng dụng lập trình game Fappy Bird trên nền tảng IOS Nguyễn Công Phước – CCLT07A 16 PHẦN 2: NỘI DUNG VÀ KẾT QUẢ NGHIÊN CỨU 2.1 Các tính năng của XCode và iOS Simulator 2.1.1 Các tính năng của XCode  Navigator Area Navigator area cho phép bạn quản lý ứng dụng hiệu quả như quản lý các tậ p tin, thư mục, quản lý các thông báo lỗi và cảnh báo, quản lý việc debug…Có thể chia Navigator area thành hai phần chính là Navigator selector bar và Content area. Hình 2.1 Giao diện Navigator Trong Navigator selector bar gồm một số button chính sau: Project Navigator (Hình): dùng để quản lý các tập tin của ứng dụng như thêm, xóa, gom nhóm…Các tập tin quản lý sẽ được thể hiện trong Content area. Find Navigator ( ): sử dụng để tìm kiếm một cách nhanh chóng các string trong ứ ng dụng, tìm kiếm nội dung mở rộng. Issue Navigator ( ): quản lý các thông báo lỗi, cảnh báo của ứng dụng. Debug Navigator( ): theo dõi quá trình debug ứng dụng.  Editor Area Editor area cho phép bạn thiết kế giao diện, viết và sửa code cho ứng dụ ng. Khi bạn chọn tập tin storyboard bên Content area thì Editor area sẽ hiển thị giao diện Nghiên cứu lập trình IOS Swift - Ứng dụng lập trình game Fappy Bird trên nền tảng IOS Nguyễn Công Phước – CCLT07A 17 Interface Builder cho bạn thiết kế giao diện. Tương tự với tậ p tin .m và .h thì Editor area sẽ hiển thị nội dung code của tập tin. Hình 2.2 Giao diện ứng dụng Hình 2.3 Giao diện code Editor area còn cho phép bạn quản lý các đối tượng trong giao diện mộ t cách chi tiết hơn. Trong phần Interface Builder, bạn chọn button Show Document Outline ( ) bên góc trái màn hình, bạn sẽ thấy được một vùng quản lý phân cấp các đối tượng. Nghiên cứu lập trình IOS Swift - Ứng dụng lập trình game Fappy Bird trên nền tảng IOS Nguyễn Công Phước – CCLT07A 18 Hình 2.4 Giao diện quản lý chi tiết  Toolbar Area Toolbar cho phép thực hiện một số thao tác một cách nhanh chóng thông qua các Button mà không cần phải dùng tới Menu. Toolbar gồm một số thành phần sau: - Run button ( ): dùng để chạy thử ứng dụng. - Stop button ( ): dùng để dừng việc chạy thử ứng dụng. - Scheme menu ( ): dùng để lựa chọn iOS Simulator thích hợp để chạy ứng dụng. - Activity viewer: thông báo trạng thái của ứng dụng, cũng như hiện các trạng thái lỗi, cảnh báo của chương trình (nếu có). Hình 2.5 Activity viewer - Editor selector ( ): gồm các button dùng để điều chỉnh Editor area (cho phép chia đôi Editor area ra làm hai hay chỉ là một vùng duy nhất…). - View selector ( ): dùng để ẩnhiện các vùng Navigator area , Utility area, Debug area. Nghiên cứu lập trình IOS Swift - Ứng dụng lập trình game Fappy Bird trên nền tảng IOS Nguyễn Công Phước – CCLT07A 19 Hình 2.6 Toolbar Utility Area  Utility Area Utility area được sử dụng để thay đổi các thuộc tính của đối tượ ng bên Interface Builder, ngoài ra còn được sử dụng để lựa chọn và kéo thả các đối tượng, đoạ n code mẫu vào Interface Buider và Editor. Utility area đượ c chia làm 2 vùng chính là Inspector và Library. Inspector pane là vùng cho phép bạn có sự thay đổi thuộc tính của đối tượng. Trên đầu củ a Inspector pane là Inspector selector bar bao gồm các button hỗ trợ bạn trong việc điều chỉ nh thuộc tính. Trên đầu của Libarary pane là Libaray selector bar bao gồm các button để bạn có thể chọn lựa phù hợp trong việc sử dụng các đoạn code mẫu, các đối tượng.area Hình 2.7 Utility area Trong Inspector selector bar, có hai button bạn cần lưu ý là Attribute ( ) và Quick Help ( ). Quick Help cho phép bạn tra cứu một cách nhanh chóng các đối tượng, hàm trong tài liệu kèm theo của Xcode. Attribute cho phép bạn thay đổ i các thuộc tính của đối tượng. Trong Library selector bar, có một số button quan trọng là Code snippets ( ), Objects ( ). Code snippets hiển thị cho bạn danh sách các đoạn code mẫu để bạn lựa Nghiên cứu lập trình IOS Swift - Ứng dụng lập trình game Fappy Bird trên nền tảng IOS Nguyễn Công Phước – CCLT07A 20 chọn sử dụng trong quá trình viết ứng dụng. Objects hiển thị các đối tượng củ a Xcode cho bạn sử dụng thiết kế giao diện ứng dụng.  Thiết Kế Giao Diện Giao diện ứng dụng trong Xcode được thiết kế thông qua Interface Builder, các đối tượng của Interface Builder được cung cấp trong Utility area. Để tiế n hành thiết kế giao diện, bạn kéo thả đối tượng trong Utility area vào Interface Builder. Hình 2.8 Kéo thả các đối tượng vào giao diện Tại đây bạn có thể điều chỉnh, sắp xếp vị trí của các đối tượng theo ý tưở ng thiết kế của bạn. Trong Xcode, tập tin bạn dùng để thiết kế giao diện là tập tin .storyboard. Khi kéo thả các đối tượng vào Interface Builder, bạn sẽ dễ dàng xác đị nh vị trí đặt đối tượng sao cho giao diện cân đối, không bị hiện tượng lệch khi Run ứ ng dụng. Đó là nhờ vào tính năng hỗ trợ canh chỉnh của Xcode thông qua các đường kẻ đứt nét màu xanh. Nghiên cứu lập trình IOS Swift - Ứng dụng lập trình game Fappy Bird trên nền tảng IOS Nguyễn Công Phước – CCLT07A 21 Hình 2.9 Canh chỉnh vị trí theo đường kẻ xanh Bạn có thể điều chỉnh các thuộc tính của các đối tượ ng trong Interface Builder thông qua vùng Inspector pane. Hình 2.10 Thay đổi thuộc tính của đối tượng Để tìm kiếm đối tượng một cách nhanh chóng, bạn sử dụng công cụ tìm kiếm trong Library pane. Nghiên cứu lập trình IOS Swift - Ứng dụng lập trình game Fappy Bird trên nền tảng IOS Nguyễn Công Phước – CCLT07A 22 Hình 2.11 Tìm kiếm trong Library  Viết Code Phần code của ứng dụng thường được viết trong hai tập tin là .h và .m. Tập tin .h thường được sử dụng để kết nối và khai báo các đối tượng của Interface Builder trước khi muốn sử dụng các đối tượng này để lập trình. Ngoài ra tập tin .h còn dùng để khai báo các hàm sự kiện trước khi sử dụng trong tập tin .m. Tập tin .m dùng để triể n khai các hàm sự kiện mà bạn đã khai báo bên tập tin .h. Hình 2.12 Hai tập tin sử dụng để viết code cho ứng dụng Để kết nối đối tượng trong Interface Builder vào tập tin .h (ánh xạ), bạn nhấn kết hợp Ctrl + nhấp chuột vào đối tƣợng và kéo thả vào tập tin .h Nghiên cứu lập trình IOS Swift - Ứng dụng lập trình game Fappy Bird trên nền tảng IOS Nguyễn Công Phước – CCLT07A 23 Hình 2.13 Ánh xạ đối tượng vào tập tin .h Khi hộp thoại hiện ra, bạn lựa chọn loại kết nối cho đối tượng là Action hoặc Outlet. Hiểu một cách đơn giản, đối tượng nào mà bạn sử dụng để hiển thị thông tin ra bên ngoài thì thuộc loại Outlet. Đối tượng nào mà bạn muốn viết code để khi tương tác với đối tượng đó sẽ cho ra kết quả mà bạn muốn ( ví dụ bạn muốn nhấn vào Button sẽ hiện “Hello World” ) thì bạn sẽ chọn loại là Action. Một đối tượng có thể vừ a là Action, vừa là Outlet tùy vào người viết ứng dụng quy định. Hình 2.14 Lựa chọn kiểu ánh xạ Khi bạn viết code, Xcode hỗ trợ bạn trong việc phát hiện lỗ i và thông báo cho bạn bằng hình tròn màu đỏ chứa dấu chấm than tại vị trí phát hiện lỗi. Ngoài ra Xcode cũng có chế độ cảnh báo bằng tam giác màu vàng cho đoạn code mà Xcode cho rằ ng cần cải thiện để bạn kịp thời kiểm tra lại và chỉnh sửa cho hiệu quả (nếu cần). Xcode còn hỗ trợ bạn một chế độ gợi ý sửa lỗi trong quá trình viết code. Ví dụ bạn viết code nhưng quên dấu “;”, Xcode sẽ gợi ý cho bạn có dấu “;” để hoàn tất đoạ n code hoàn chỉnh. Nghiên cứu lập trình IOS Swift - Ứng dụng lập trình game Fappy Bird trên nền tảng IOS Nguyễn Công Phước – CCLT07A 24 Hình 2.15 Gợi ý khắc phục lỗi Trong Library pane, Xcode hỗ trợ sẵn cho bạn một số đoạn code mẫu trong thư viện, nếu bạn cần xài ...

Trang 1

suốt thời gian học tập tại trường

Trong thời gian làm đồ án em đã gặp không ít khó khăn nhưng được sự giúp đỡ hướng dẫn tận tình của GVHD Em xin chân thành cảm ơn TS Lê Tân, người trực tiếp hướng dẫn đã tận tâm hướng dẫn và thảo luận về lĩnh vực ngôn ngữ lập trình mới Nếu không có những lời hướng dẫn, dạy bảo của thầy thì em nghĩ bài thu hoạch này của em rất khó có thể hoàn thiện được Một lần nữa, em xin chân thành cảm ơn thầy

Đồ án tốt nghiệp này được thực hiện trong khoảng thời gian gần 2 tháng Bước đầu đi vào thực tế, tìm hiểu về lĩnh vực và ngôn ngữ mới trong nghành lập trình, do kiến thức của em còn hạn chế và cộng đồng chưa có nhiều nên còn nhiều bỡ ngỡ Do vậy, không tránh khỏi những thiếu sót là điều chắc chắn, em rất mong nhận được những ý kiến đóng góp quý báu của quý Thầy Cô và các bạn để kiến thức của em trong lĩnh vực này được hoàn thiện hơn

Sau cùng, em xin kính chúc quý Thầy Cô trong Khoa Công Nghệ Thông Tin và Thầy Hiệu Trưởng – TS Lê Tân thật dồi dào sức khỏe, niềm tin để tiếp tục thực hiện

sứ mệnh cao đẹp của mình là truyền đạt kiến thức cho thế hệ mai sau

Em xin chân thành cám ơn

Đà Nẵng, ngày 30 tháng 05 năm 2016

Sinh viên thực hiện

(ký và ghi họ tên)

Nguyễn Công Phước

Trang 2

MỤC LỤC

Trang

LỜI CẢM ƠN i

MỤC LỤC ii

DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT iv

DANH MỤC CÁC BẢNG v

DANH MỤC CÁC HINH VẼ, DỒ THỊ vi

MỞ ĐẦU 1

PHẦN 1: CƠ SỞ LÝ THUYẾT 3

1.1 Nguồn gốc của hệ điều hành iOS và lịch sử phát triển: 3

1.1.1 Nguồn gốc của hệ điều hành iOS 3

1.1.2 Lịch sử phát triển 3

1.1.3 Các phiên bản hệ điều hành iOS 4

1.2 Đôi nét về lập trình iOS Swift và môi trường lập trình iOS 12

1.2.1 Đôi nét về lập trình iOS Swift 12

1.2.2 Môi trường lập trình iOS 12

1.3 Giới thiệu cơ bản về phần mềm XCode và máy ảo iOS Simulator 13

1.3.1 Giới Thiệu Về phần mềm Xcode 13

1.3.2 Giới Thiệu iOS Simulator 15

PHẦN 2: NỘI DUNG VÀ KẾT QUẢ NGHIÊN CỨU 16

2.1 Các tính năng của XCode và iOS Simulator 16

2.1.1 Các tính năng của XCode 16

2.1.2 Các tính năng của iOS Simulator 27

2.2 Cơ bản về ngôn ngữ lập trình iOS Swift 34

2.2.1 Những quy ước trong ngôn ngữ lập trình Swift 34

2.2.2 Biến (VARIABLE) và hằng số (CONSTANT), cách khai báo biến và hằng số 35

2.2.3 Kiểu dữ liệu 36

Trang 3

2.3.6 Thêm framework 53

2.4 Một số đối tượng cơ bản 54

2.4.1 Đối Tượng Label 54

2.4.2 Đối Tượng Button 54

2.4.3 Đối Tượng Text Field 55

PHẦN 3 : PHÂN TÍCH VÀ THIẾT KẾ 57

3.1 Giới thiệu bài toán 57

3.2 Mô hình hóa yêu cầu 57

3.2.1 Xác định các tác nhân 57

3.2.2 Xác định các trường hợp sử dụng (Use case) 57

3.2.2.1 Liệt kê các trường hợp sử dụng 57

3.2.2.2 Đặc tả các trường hợp sử dụng 57

3.2.2.3 Biểu đồ trường hợp sử dụng 58

3.3 Mô hình hóa khái niệm 59

3.3.1 Các lớp biên 59

3.3.2 Các lớp điều khiển 59

3.4 Biểu đồ hoạt động 60

PHẦN 4: GIỚI THIỆU SẢN PHẨM GAME FLAPPY BIRD TRÊN NỀN TẢNG IOS 61

4.1 Tổng quan về ứng dụng game Flappy Bird trên nền tảng iOS 61

4.2 Giao diện ứng dụng Game Flappy Bird 62

KẾT LUẬN 66

HƯỚNG PHÁT TRIỂN 67

TÀI LIỆU THAM KHẢO 68

Trang 4

DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT

CÁC CHỮ VIẾT TẮT:

iOS Internetwork Operating System

Hệ điều hành iOS chạy trên điện thoại iPhone Mac OS X Hệ điều hành Macintosh chạy trên máy tính Mac

Trang 6

DANH MỤC CÁC HINH VẼ, DỒ THỊ

Số hiệu

1.3 Giao diện bàn phím nằm ngang và tính năng copy & paste 6

1.7 iOS 5 là phiên bản đầu tiên cho phép người dùng cập nhật

Trang 7

2.20 Vùng Debug Navigator 26

2.30 Tải thêm các iOS Simulator phiên bản cũ hoặc tài liệu 31

Trang 8

4.1 Màn hình Giới thiệu khi chạy Game trên máy ảo iOS 62

Trang 9

tảng iOS, không chỉ được tối ưu với phần cứng, nền tảng này còn có tính bảo mật cao

Apple cùng với những chiếc iPhone đã thay đổi hoàn toàn lịch sử của ngành công nghệ di động, mở ra những khái niệm hoàn toàn mới khiến các hãng cạnh tranh luôn phải chạy theo Song song với sự thành công của thiết bị chính là hệ điều hành iOS độc quyền của hãng

Năm 2016, bên cạnh những chiếc iPhone, iPad, chúng ta đã được chứng kiến những bom tấn ra mắt như Apple Watch, Apple Tivi và còn biết bao nhiêu bí mật khác

mà Apple đang chuẩn bị tung ra thị trường Cũng chính vì vậy, mà việc làm dành cho những Lập trình viên iOS sẽ ngày càng tăng dữ dội

Swift là một ngôn ngữ lập trình hướng đối tượng dành cho việc phát triển iOS

và OS X, được giới thiệu bởi Apple tại hội nghị WWDC 2014 Đây là ngôn ngữ tiềm năng, được thừa kế từ Objective-C nhưng dễ học hơn Objective-C, để tiếp cận được Swift thì Objective-C là ngôn ngữ cơ bản mà các lập trình viên iOS cần phải nắm vững Swift được thiết kế là một ngôn ngữ có khả năng phòng chống lỗi cao Nó được biên dịch với trình biên dịch LLVM

Điểm yếu lớn nhất của Swift có lẽ sẽ là tuổi đời quá trẻ của ngôn ngữ lập trình này Cụ thể hơn, để sử dụng Swift, các nhà phát triển sẽ phải học lại một ngôn ngữ lập trình hoàn toàn mới Và cộng đồng cũng chưa có nhiều, Các nhà phát triển ứng dụng iOS sẽ mất một khoảng thời gian đáng kể để làm chủ ngôn ngữ mới của Apple Và đối với nhưng lập trình viên mới gia nhập vào ngôi nhà lập trình iOS, Objective-C là ngôn ngữ cơ bản phải nắm được và là nền tảng cho việc tiếp cận Swift Điều đó làm cho lập trình iOS ngày càng khó hơn

Mục đích của đề tài lần này là tìm hiểu về ngôn ngữ lập trình mới, nghiên cứu

và xây dựng được một ứng dụng thực tế Em mong rằng qua đề tài này, em sẽ có thêm nhiều động lực và nền tảng cơ bản để bước tiếp con đường đam mê lập trình iOS của

Trang 10

mình Đây cũng chính là lý do chính mà em chọn đề tài này làm đề tài tốt nghiệp của mình

 Mục tiêu và nhiệm vụ nghiên cứu

Nhằm tìm hiểu và nghiên cứu để biết được cách thức xây dựng một ứng dụng mang tính thực tế trên hệ điều hành IOS, tìm hiểu thêm về ứng dụng game trên hệ điều hành IOS và cách tạo ra nó

Hiểu về nguyên lý hoạt động của IOS, các thành phần của hệ thống cũng như của một ứng dụng thực thi trên nền tảng IOS

Áp dụng thiết kế ứng dụng game Flappy Bird chạy trên nền tảng IOS

 Đối tượng và phạm vi nghiên cứu

o Đối tượng:

 Ngôn ngữ Swift

 Công cụ phát triển ứng dụng XCode và iOS SDK

 Máy ảo iOS Simulator

 Hệ điều hành và tài nguyên hệ thống IOS

o Phạm vi:

 Nghiên cứu cách thức tạo nên ứng dụng trên IOS

 Các thao tác cơ bản

 Nghiên cứu ngôn ngữ Swift

 Phương pháp nghiên cứu

Nghiên cứu và thu thập tài liệu, các phương pháp để ứng dụng liên quan đến đề tài Sử dụng trực tiếp hệ điều hành Mac OS X để cài đặt và sử dụng Tiếp cận ngôn ngữ Swift qua tài liệu liên quan

 Ý nghĩa khoa học và thực tiễn

o Ý nghĩa khoa học: Hiểu được cơ bản về ngôn ngữ Swift và cách thức tạo nên ứng dụng trên IOS

o Ý nghĩa thực tiễn: Thiết kế được ứng dụng game Flappy Bird trên iOS

Trang 11

bị đa phương tiện khác Sản phẩm nổi tiếng nhất là máy tính Apple Macintosh, máy nghe nhạc iPod (2001), chương trình nghe nhạc iTunes, điện thoại iPhone (2007), máy tính bảng iPad (2010) và đồng hồ thông minh Apple Watch (2014-2015) hoạt động trên nhiều quốc gia trên thế giới

iOS là từ viết tắt của Internetwork Operating System, là hệ điều hành mạng

của Cisco, giúp cho các thiết bị của Cisco (switch, router) sử dụng được các tập hợp chức năng mạng chạy trên nó (routing, packet switching ) để xây dựng và hình thành nên hệ thống mạng

iOS có nguồn gốc từ OS X, mà nó chia sẻ nền tảng Darwin iOS là phiên bản di động của Apple OS X - hệ điều hành được sử dụng trên các máy tính của Apple iOS

là một hệ thống điều hành điện thoại di động phát triển và phân phối bởi Apple Inc phát hành năm 2007 cho iPhone và iPod Touch, nó đã được mở rộng để hỗ trợ các thiết bị khác của Apple như iPad và Apple TV Apple không cấp phép cho iOS để cài đặt trên phần cứng không phải của Apple

1.1.2 Lịch sử phát triển

iOS là hệ điều hành trên các thiết bị di động của Apple Ban đầu hệ điều hành này chỉ được phát triển để chạy trên iPhone, nhưng sau đó nó đã được mở rộng để chạy trên các thiết bị của Apple như iPod touch, iPad và Apple TV Ngày 08 tháng 6,

2015, theo số liệu thống kê ở hội nghị WWDC năm 2015, tổng số lượng ứng dụng trên App Store đã vượt mốc 1,5 triệu ứng dụng, số lượng ứng dụng trung bình mà mỗi người dùng đang sử dụng là 119 ứng dụng Cứ mỗi giây trôi qua, App Store lại chứng kiến 850 lượt tải App Store đã vượt qua mốc 100 tỷ lượt tải ứng dụng

Giao diện người dùng của iOS dựa trên cơ sở thao tác bằng tay Người dùng có thể tương tác với hệ điều hành này thông qua rất nhiều động tác bằng tay trên màn hình cảm ứng của các thiết bị của Apple

Trang 12

Hệ điều hành di dộng của Apple được công bố cùng chiếc iPhone 2G tại Macworld Conference & Expo vào ngày 9/1/2007 và chính thức phát hành trong tháng

6 sau đó Khi ra mắt, hệ điều hành này không được Apple chỉ định một cái tên riêng biệt mà chỉ đơn giản gọi là "hệ điều hành X dành cho iPhone” và không hỗ trợ các ứng dụng từ các nhà phát triển thứ 3 Nguyên nhân của việc từ chối các ứng dụng từ bên thứ 3 được Steve Jobs đưa ra là các nhà phát triển có thể xây dựng ứng dụng trùng chức năng với các ứng dụng gốc trên iPhone

Đến ngày 17/ 10/ 2007, Apple thông báo đã phát triển bộ công cụ phát triển phần mềm (SDK) và lên kế hoạch chuyển chúng đến tay các nhà phát triển vào tháng 2 năm 2008 Sau đó ngày 6/3/2008, Apple phát hành phiên bản thử nghiệm (beta) đầu tiên của bộ công cụ này cùng với một cái tên mới cho hệ điều hành, "iPhone OS"

Tháng 9 năm 2009, iPod touch ra đời mang trên mình “iPhone OS” với hầu hết chức năng hiện có ngoại trừ khả năng gọi, nhắn tin hay các dịch vụ từ nhà mạng khác

Và đến mùa lễ cuối năm này, Apple cũng đạt doanh số hơn một triệu chiếc iPhone

Ngày 27/1/2010, sau sự thành công của iPhone và iPod touch, Apple tiếp tục giới thiệu iPad sử dụng hệ điều hành được tùy chỉnh từ “iPhone OS” với một màn hình lớn hơn so với iPhone và iPod touch được thiết kế để duyệt web, đọc sách, giải trí đa phương tiện…

Cuối cùng đến tháng 6 năm 2010, Apple chính thức đổi tên “iPhone OS” thành một cái tên mới đơn giản, dễ nhớ hơn được mua từ hãng sản xuất thiết bị mạng Cisco,

đó là "iOS" và được sử dụng cho đến ngày hôm nay

1.1.3 Các phiên bản hệ điều hành iOS

Nền tảng di động iOS của Apple đã tồn tại được một khoảng thời gian dài, kể từ thời điểm mà người dùng chỉ biết iPhone chứ chưa rõ hệ điều hành gì, cho đến hiện tại

là iOS 9 Mời các bạn cùng nhìn lại lịch sử 9 đời của nền tảng này

 iPhone OS

Hệ điều hành này được tiết lộ tại Hội nghị và Triển lãm Macworld diễn ra vào tháng 1/2007 và được phát hành vào tháng 9 năm đó Khi đó, hệ điều hành này chưa

Trang 13

Hình 1.1 Giao diện iPhone OS 1.x

Không như bất kỳ hệ điều hành di động nào khác cùng thời điểm, Apple chỉ dựa vào thao tác cảm ứng vì không dùng bàn phím cứng Khi đó, chưa có App Store, không thể chụp được ảnh màn hình Một điều thú vị là phiên bản sau cùng của iPhone

OS 1.x là 1.1.5, lại ra đời ngay sau khi iPhone OS 2 được tiết lộ

 iPhone OS 2

Đến năm 2008, Apple chính thức trình làng iPhone OS 2.x, nền tảng này ra đời chủ yếu để vá hầu hết các lỗi góp mặt trên phiên bản tiền nhiệm Quan trọng nhất là sự xuất hiện của kho ứng dụng trực tuyến App Store, cho phép người dùng iPhone và iPhone 3G tải về các ứng dụng và trò chơi

Hình 1.2 Giao diện iPhone OS 2.x

Trang 14

Chắc chắn, bản cập nhật này đã mang lại rất nhiều điều mới lạ cho người dùng Trong số đó phải kể đến chính là ứng dụng Danh bạ được trang bị tính năng tìm kiếm

và nâng cấp ứng dụng máy tính để giải quyết được các bài toán phức tạp hơn

 iPhone OS 3 (iOS 3)

Bước sang năm 2009, Apple phát hành phiên bản thứ ba của hệ điều hành di động "cây nhà lá vườn" Mặc dù không có nhiều đột phá, nhưng iPhone OS 3.x đã mang đến hàng loạt các tính năng mới rất hấp dẫn

Hình 1.3 Giao diện bàn phím nằm ngang và tính năng copy & paste

Đáng chú ý nhất là tính năng quay và chỉnh sửa video, tin nhắn MMS, lệnh bằng giọng nói (chỉ mới có trên iPhone 3GS), sao chép & dán, tìm kiếm spotlight, chế

độ bàn phím nằm ngang khi vào Mail và tin nhắn, một số ứng dụng mặc định mới như: Voice Memos, la bàn,

Trang 15

năng này đã có mặt khá lâu trên các nền tảng khác

Hình 1.5 Giao diện iOS 4

iOS 4 cũng sử dụng nhiều hình ảnh chuyển động hơn trên toàn hệ thống so với phiên bản tiền nhiệm, bổ sung chức năng sửa lỗi chính tả trên bàn phím, thống nhất hộp thư email, hỗ trợ thay đổi nhiều máy chủ… Ngoài ra, đây còn là phiên bản iOS đầu tiên không tương thích với iPhone thế hệ đầu iOS 4.2.1 cũng không tương thích với iPhone 3G

 iOS 5

Apple đón chào năm 2011 bằng việc giới thiệu iOS 5, song hành cùng hơn 200 tính năng mới Một con số thật ấn tượng, đúng không? Vâng, các tính năng nổi bật nhất trong số đó bao gồm: Trung tâm thông báo (Notification Center), Siri, iMessage, iCloud, từ điển phổ quát, hỗ trợ Game Center, tích hợp mạng xã hội Twitter (bạn chỉ cần truy cập một lần với tài khoản Twitter từ menu Settings của thiết bị iOS, những lần sau Twitter sẽ được khởi động cùng với các ứng dụng khác như Contacts, Camera, Photos, Safari và Maps),

Trang 16

Hình 1.6 Trình phát nhạc

Ngoài ra, Apple còn cung cấp thêm 2 tính năng thú vị cho trình duyệt web Safari, bao gồm: Safari Reader, giúp bạn loại bỏ khỏi những thứ gây xao lãng nội dung bạn đang đọc như quảng cáo và chỉ để lại văn bản, hình ảnh của nội dung chính trên trang web, và liên tục điều chỉnh kích cỡ font cho phù hợp với thiết bị của bạn Tính năng thứ hai của Safari có tên là Reading List, cho phép lưu lại nội dung web để xem tiếp vào lần sau

Trang 17

iOS 6 được công bố vào năm 2012, mang đến nhiều cải tiến so với phiên bản trước, đáng kể nhất là Siri thông minh hơn (cung cấp chi tiết về phim, thể thao, nhà hàng, ứng dụng), tích hợp sâu với Facebook, ứng dụng bản đồ mới thay thế Google Maps, khả năng trả lời cuộc gọi bằng tin nhắn, chế độ Do Not Disturb, Passcode, Safari có thêm chế độ đọc ngoại tuyến (offline) cũng như nhiều tính năng khác trong Photo Stream, Email

Hình 1.8 Giao diện iOS 6

Một số ứng dụng được cài sẵn trong các phiên bản iOS trước đó như Google Maps và YouTube đều bị gỡ bỏ hết, động thái này nhằm giảm bớt sự phụ thuộc vào Google của Apple Dĩ nhiên, các ứng dụng này bạn có thể tải lại trên App Store iOS 6 cũng giới thiệu loạt cài đặt bảo mật mới để người dùng cảm thấy an toàn hơn

 iOS 7

Kể từ iPhone OS, nền tảng di động của Apple đều có thiết kế na ná nhau và

Trang 18

không thay đổi gì nhiều ở mặt biểu tượng icon, kiểu chữ, cũng như giao diện Tuy nhiên, với iOS 7, Apple đã đại tu lại hệ điều hành này, mang đến cái nhìn hoàn toàn mới iOS 7 mới mẻ hơn, sống động hơn, dùng giao diện phẳng và khác hoàn toàn so với thiết kế mô phỏng trước đây

Hình 1.9 Giao diện iOS 7

Ngoài phần "mặt tiền", iOS 7 còn mang đến loạt tính năng mới như: Control Center, Notification Center, đa nhiệm tốt hơn, ứng dụng Photos được nâng cấp, AirDrop, Safari có thêm chế độ duyệt web toàn màn hình và vuốt Ứng dụng chụp ảnh

bổ sung thêm chế độ Burst Mode cho phép người dùng chụp liên tiếp 10 tấm hình/giây khi nhấn giữ nút chụp, trong khi chế độ quay chậm Slo-Mo hỗ trợ quay video HD 720p với tốc độ 120 khung hình/giây Bên cạnh đó, camera còn chụp được ảnh định dạng vuông như Instagram

 iOS 8

iOS 8 được giới thiệu vào ngày 18/9/2014, dành cho tất cả các thiết bị kể từ iPhone 4S, iPod 5, iPad 2 trở lên và được xem là phiên bản "mở" nhất từ trước đến nay Nó hỗ trợ bàn phím thứ ba, widget trong mục Today của Notification Center, mang đến trải nghiệm tương tự như của nền tảng đối thủ Google Android

Trang 19

Hình 1.10 Giao diện iOS 8

Một số cải tiến khác đến cùng iOS 8 là thông báo tương tác hiện ra phía trên cùng màn hình, cho phép trả lời nhanh hoặc tắt; trình đơn đa nhiệm (multi-tasking) hiển thị số liên lạc thường xuyên; tìm kiếm Spotlight hoàn thiện hơn Health, tham vọng của Apple trong lĩnh vực theo dõi sức khỏe, y tế, cũng có mặt

 iOS 9

iOS 9 được giới thiệu vào ngày 10/9/2015 Cải tiến quan trọng và đáng chú ý

nhất của phiên bản iOS 9 này chính là trợ lý ảo Siri hay tính năng phân chia màn hình chạy đa nhiệm trên iPad

Hình 1.11 Giao diện iOS 9

Trang 20

Ngoài ra, còn có các tính năng được cải tiến khác như bản đồ, ghi chú, ứng dụng tin tức mới với nhiều nội dung để bạn có thể đọc khi rảnh rỗi

Bạn có thể cài đặt iOS 9 mà không cần xóa bất cứ dữ liệu nào để lấy thêm bộ nhớ iOS 9 chỉ chiếm 1, 3GB trong khi iOS 8 cần tới 4, 5 GB bộ nhớ trong Đây là điều rất đáng mừng với những ai đang sử dụng iPhone phiên bản 16 GB

Hiệu suất làm việc của chiếc iPhone của bạn cũng tăng lên đáng kể khi iOS 9 sử dụng CPU và GPU một cách hiệu quả hơn Thêm vào đó, mã mở khóa 4 ký tự cũng được thay bằng mã 6 ký tự, điều này giúp cho thiết bị dùng iOS của bạn trở nên an toàn hơn

1.2 Đôi nét về lập trình iOS Swift và môi trường lập trình iOS

1.2.1 Đôi nét về lập trình iOS Swift

Swift là một ngôn ngữ lập trình hướng đối tượng (Mọi thứ trong Swift đều là hướng đối tượng, kể cả những giá trị như số 1, 2, 3… cũng là đối tượng) Swift được Apple giới thiệu tại hội nghị WWDC 2014, ngôn ngữ này dùng để phát triển ứng dụng

trên iOS và OS X Trước đây Objective C là “đứa con nối dõi tông đường” của Apple,

việc ra đời Swift có thể giúp các lập trình viên dễ dàng tiếp cận hơn, đặc biệt nó là mã nguồn mở (các tài nguyên về Swift ta có thể tải về từ trang https://swift.org/) Apple vẫn chủ ý cho chạy song song 2 ngôn ngữ lập trình Objective-C và Swift

1.2.2 Môi trường lập trình iOS

Quá trình chuẩn bị trước khi bắt đầu lập trình ứng dụng trên iPhone là quá trình

cơ bản cần phải chuẩn bị kỹ lưỡng Quá trình này sẽ giúp chúng ta có các điều kiện

cần thiết để có thể thuận lợi bắt đầu tìm hiểu về lập trình ứng dụng trên iPhone

Có 2 phương pháp để chuẩn bị môi trường lập trình iOS:

 Sử Dụng Sản Phẩm Chính Hãng Apple

 Lập Trình Ứng Dụng Iphone Trên Windows bằng cách sử dụng máy ảo

Bạn có thể truy cập vào www.apple.com, sau đó lựa chọn Shop Mac để đến

chuyên mục bán các sản phẩm chạy Mac OS của Apple Tại đây bạn có thể lựa chọn nhiều loại sản phẩm khác nhau như Macbook Air, Macbook Pro, iMac, Mac mini…

Trang 21

Hình 1.12 Cửa hàng Apple Store trực tuyến

Hoặc bạn có thể mua tại các Shop có uy tín tại Việt Nam như F.Studio của

FPT, đây là đơn vị phân phối được Apple chứng nhận

Nếu muốn lập trình ứng dụng cho iPhone, nhưng lại muốn thực hiện trên môi trường Windows để có thể thao tác thêm các công việc khác trên môi trường này, lựa chọn tốt nhất cho bạn lúc này chính là sử dụng một máy ảo chạy hệ điều hành Mac OS

để lập trình Tuy nhiên nếu bạn lựa chọn phương án này, cấu hình máy tính của bạn phải mạnh, CPU xử lý tốt, và bạn nên dành ít nhất 3G RAM cho máy ảo hoạt động tốt hơn Quá trình giả lập cần khá nhiều thời gian để tìm hiểu

1.3 Giới thiệu cơ bản về phần mềm XCode và máy ảo iOS Simulator

1.3.1 Giới Thiệu Về phần mềm Xcode

Phần mềm Xcode là bộ công cụ do Apple cung cấp cho các lập trình viên để lập trình ứng dụng cho các thiết bị chạy hệ điều hành của Apple Phiên bản mới nhất hiện nay của Xcode là bản Xcode 7 trên trang Developer của Apple

Hình 1.13 Phiên bản Xcode 7 trên trang Apple

Trang 22

Sau khi bạn đã có được hệ điều hành Mac OS, việc tiếp theo bạn phải làm trước khi có thể bắt đầu lập trình ứng dụng iPhone là cài bộ công cụ lập trình Xcode do Apple cung cấp cho các nhà lập trình ứng dụng, để các nhà lập trình có thể phát triển ứng dụng cho cả iOS lẫn Mac OS Việc cài đặt Xcode có nhiều cách, tùy theo bạn chọn lựa cách nào phù hợp với bản thân

 Cài Đặt Thông Qua Bản Tải Về Từ Trang Dành Cho Developer

Bạn truy cập vào trang www.developer.apple.com để tiến hành tải phiên bản Xcode mới nhất (hoặc các phiên bản khác tùy theo nhu cầu của bạn) Yêu cầu có tài khoản Developer ID

Hình 1.14 Tải Xcode từ trang Developer

 Cài Đặt Thông Qua Apple Mac Store

Đây là cách phổ biến nhất, vì việc tải Xcode trên Apple Store là miễn phí, và chỉ cần bạn có một tài khoản Apple ID là được, không yêu cầu phải là Developer ID Bạn chỉ cần truy cập vào Apple Mac Store và tìm kiếm Xcode, bạn sẽ thấy kết quả là

phần mềm Xcode Free, công việc bây giờ là bạn chỉ cần chọn Get Install App và

chờ đợi hoàn tất

Trang 23

Hình 1.15 Cài đặt Xcode qua Apple Mac Store

1.3.2 Giới Thiệu iOS Simulator

iOS Simulator là một phần trong bộ công cụ kèm theo của phần mềm Xcode

iOS Simulator chứa iOS SDK cho phép bạn chạy trên Mac OS để giả lập môi trường

iPhone, iPad nhằm phục vụ cho việc kiểm thử ứng dụng được viết ra trước khi kiểm thử ứng dụng trên thiết bị thật

iOS Simualtor cho phép bạn cài đặt nhiều thiết bị iOS khác nhau như iPhone,

iPhone Rentina, iPad, iPad Rentina với nhiều phiên bản iOS khác nhau như 6.0, 6.1, 7.0… Do đó bạn có thể dễ dàng xây dựng ứng dụng của mình dành cho phiên bản iOS mới hoặc dùng cho cả phiên bản iOS cũ

Với iOS Simulator, bạn có thể kiểm thử ứng dụng của bạn về thiết kế giao

diện, về tính năng của ứng dụng, từ đó có thể khắc phục các lỗi phát sinh, tối ưu hóa ứng dụng trước khi bạn đem ứng dụng lên thiết bị thật

Ứng dụng iOS Simulator có thể chạy chung với phần mềm Xcode hoặc chạy độc lập đều được Bạn có thể tương tác với iOS Simulator thông qua bàn phím, chuột

để nhập dữ liệu cũng như điều khiển các sự kiện của người dùng Phần này sẽ giúp bạn tìm hiểu một số điểm cơ bản của iOS Simulator để hỗ trợ bạn tốt hơn trong quá trình viết ứng dụng cho iOS

Đặc biệt Nếu bạn muốn build chương trình chạy trên thiết bị thật thì cần đăng

ký 1 tài khoản mất phí 99$/ 1 năm

Trang 24

PHẦN 2: NỘI DUNG VÀ KẾT QUẢ NGHIÊN CỨU

2.1 Các tính năng của XCode và iOS Simulator

2.1.1 Các tính năng của XCode

 Navigator Area

Navigator area cho phép bạn quản lý ứng dụng hiệu quả như quản lý các tập

tin, thư mục, quản lý các thông báo lỗi và cảnh báo, quản lý việc debug…Có thể chia

Navigator area thành hai phần chính là Navigator selector bar và Content area

Hình 2.1 Giao diện Navigator

Trong Navigator selector bar gồm một số button chính sau:

Project Navigator (Hình): dùng để quản lý các tập tin của ứng dụng như thêm, xóa,

gom nhóm…Các tập tin quản lý sẽ được thể hiện trong Content area

Find Navigator ( ): sử dụng để tìm kiếm một cách nhanh chóng các string trong ứng

dụng, tìm kiếm nội dung mở rộng

Issue Navigator ( ): quản lý các thông báo lỗi, cảnh báo của ứng dụng

Trang 25

Hình 2.2 Giao diện ứng dụng

Hình 2.3 Giao diện code

Editor area còn cho phép bạn quản lý các đối tượng trong giao diện một cách

chi tiết hơn Trong phần Interface Builder, bạn chọn button Show Document Outline

( ) bên góc trái màn hình, bạn sẽ thấy được một vùng quản lý phân cấp các đối tượng

Trang 26

Hình 2.4 Giao diện quản lý chi tiết

 Toolbar Area

Toolbar cho phép thực hiện một số thao tác một cách nhanh chóng thông qua các

Button mà không cần phải dùng tới Menu Toolbar gồm một số thành phần sau:

- Run button ( ): dùng để chạy thử ứng dụng

- Stop button ( ): dùng để dừng việc chạy thử ứng dụng

Trang 27

vùng cho phép bạn có sự thay đổi thuộc tính của đối tượng Trên đầu của Inspector pane là Inspector selector bar bao gồm các button hỗ trợ bạn trong việc điều chỉnh thuộc tính Trên đầu của Libarary pane là Libaray selector bar bao gồm các button để bạn có thể chọn lựa phù hợp trong việc sử dụng các đoạn code mẫu, các đối tượng.area

Hình 2.7 Utility area

Trong Inspector selector bar, có hai button bạn cần lưu ý là Attribute ( ) và

Quick Help ( ) Quick Help cho phép bạn tra cứu một cách nhanh chóng các đối tượng, hàm trong tài liệu kèm theo của Xcode Attribute cho phép bạn thay đổi các thuộc tính của đối tượng

Trong Library selector bar, có một số button quan trọng là Code snippets ( ),

Objects ( ) Code snippets hiển thị cho bạn danh sách các đoạn code mẫu để bạn lựa

Trang 28

chọn sử dụng trong quá trình viết ứng dụng Objects hiển thị các đối tượng của Xcode cho bạn sử dụng thiết kế giao diện ứng dụng

 Thiết Kế Giao Diện

Giao diện ứng dụng trong Xcode được thiết kế thông qua Interface Builder, các đối tượng của Interface Builder được cung cấp trong Utility area Để tiến hành

thiết kế giao diện, bạn kéo thả đối tượng trong Utility area vào Interface Builder

Hình 2.8 Kéo thả các đối tượng vào giao diện

Tại đây bạn có thể điều chỉnh, sắp xếp vị trí của các đối tượng theo ý tưởng thiết kế của bạn Trong Xcode, tập tin bạn dùng để thiết kế giao diện là tập tin

.storyboard Khi kéo thả các đối tượng vào Interface Builder, bạn sẽ dễ dàng xác định

vị trí đặt đối tượng sao cho giao diện cân đối, không bị hiện tượng lệch khi Run ứng dụng Đó là nhờ vào tính năng hỗ trợ canh chỉnh của Xcode thông qua các đường kẻ đứt nét màu xanh

Trang 29

Hình 2.9 Canh chỉnh vị trí theo đường kẻ xanh

Bạn có thể điều chỉnh các thuộc tính của các đối tượng trong Interface Builder thông qua vùng Inspector pane

Hình 2.10 Thay đổi thuộc tính của đối tượng

Để tìm kiếm đối tượng một cách nhanh chóng, bạn sử dụng công cụ tìm kiếm trong Library pane

Trang 30

Hình 2.11 Tìm kiếm trong Library

 Viết Code

Phần code của ứng dụng thường được viết trong hai tập tin là h và m Tập tin

.h thường được sử dụng để kết nối và khai báo các đối tượng của Interface Builder trước khi muốn sử dụng các đối tượng này để lập trình Ngoài ra tập tin h còn dùng để khai báo các hàm sự kiện trước khi sử dụng trong tập tin m Tập tin m dùng để triển khai các hàm sự kiện mà bạn đã khai báo bên tập tin h

Hình 2.12 Hai tập tin sử dụng để viết code cho ứng dụng

Để kết nối đối tượng trong Interface Builder vào tập tin h (ánh xạ), bạn nhấn kết

hợp Ctrl + nhấp chuột vào đối tƣợng và kéo thả vào tập tin h

Trang 31

Hình 2.13 Ánh xạ đối tượng vào tập tin h

Khi hộp thoại hiện ra, bạn lựa chọn loại kết nối cho đối tượng là Action hoặc

Outlet Hiểu một cách đơn giản, đối tượng nào mà bạn sử dụng để hiển thị thông tin ra

bên ngoài thì thuộc loại Outlet Đối tượng nào mà bạn muốn viết code để khi tương tác với đối tượng đó sẽ cho ra kết quả mà bạn muốn ( ví dụ bạn muốn nhấn vào Button sẽ hiện “Hello World” ) thì bạn sẽ chọn loại là Action Một đối tượng có thể vừa là Action, vừa là Outlet tùy vào người viết ứng dụng quy định

Hình 2.14 Lựa chọn kiểu ánh xạ

Khi bạn viết code, Xcode hỗ trợ bạn trong việc phát hiện lỗi và thông báo cho bạn bằng hình tròn màu đỏ chứa dấu chấm than tại vị trí phát hiện lỗi Ngoài ra Xcode cũng có chế độ cảnh báo bằng tam giác màu vàng cho đoạn code mà Xcode cho rằng cần cải thiện để bạn kịp thời kiểm tra lại và chỉnh sửa cho hiệu quả (nếu cần)

Xcode còn hỗ trợ bạn một chế độ gợi ý sửa lỗi trong quá trình viết code Ví dụ bạn viết code nhưng quên dấu “;”, Xcode sẽ gợi ý cho bạn có dấu “;” để hoàn tất đoạn code

Trang 32

Hình 2.15 Gợi ý khắc phục lỗi

Trong Library pane, Xcode hỗ trợ sẵn cho bạn một số đoạn code mẫu trong thư viện, nếu bạn cần xài đoạn code nào, bạn chỉ cần kéo thả đoạn code đó từ Library pane sang Editor arena

Để thuận tiện cho việc viết code nhanh chóng, bạn có thể bật chế độ chia đôi

vùng Editor area làm hai, lúc này bạn có thể xem cùng lúc cả tập tin h lẫn tập tin m

Muốn thực hiện điều đó, trong Toolbar, bạn nhấp chuột vào nút Assistant Editor

Button ( )

Hình 2.16 Chia đôi màn hình Editor để tiện làm việc

Bạn có thể tùy chỉnh lại font và màu chữ để tạo nên một sự thay đổi, tạo thêm

cảm hứng mới Bạn chọn Xcode > chọn Preferences > chọn Fonts & Colors, sau đó

Trang 33

Hình 2.17 Tùy chỉnh Font & Color cho giao diện lập trình code của Xcode

 Thực Thi Và Kiểm Tra Lỗi Của Ứng Dụng

mà lựa chọn thiết bị đó, ví dụ iPad, iPhone, iPhone Rentina…

Hình 2.18 Lựa chọn thiết bị iOS Simulator

Trang 34

Sau khi chọn lựa xong phần thiết bị, bạn nhấn Run để chạy chương trình Nếu muốn dừng chương trình, bạn nhấn Stop

Hình 2.19 Nhấn Stop để dừng chương trình

o Kiểm Tra Lỗi Của Ứng Dụng

Vùng Debug area hỗ trợ bạn debug ứng dụng để kiểm tra từng bước, ngoài ra còn có vùng Debug Navigator cho phép bạn theo dõi các tiến trình, cũng như việc sử dụng RAM, CPU

Hình 2.20 Vùng Debug Navigator

Trong Debug area có các nút hỗ trợ như bật tắt các Breakpoint, nhóm nút hỗ trợ thực thi ứng dụng từng bước hỗ trợ bạn debug một cách chính xác hơn

Trang 35

Hình 2.22 Đánh dấu Breakpoint

Ngoài ra nếu bạn muốn thu gọn 1 đoạn code nào đó, bạn có thể sử dụng thanh đứng hỗ trợ bên cạnh thanh đứng đặt Breakpoint

Hình 2.23 Thu gọn đoạn code

2.1.2 Các tính năng của iOS Simulator

 Thao tác mở và thoát ios simulator

Để mở iOS Simulator bạn có hai cách Một là bạn chạy ứng dụng trong Xcode

để khởi động iOS Simulator Với cách này bạn chỉ cần chọn iOS Simulator phù hợp

rồi chọn Run

Trang 36

Hình 2.24 Chọn Run để mở iOS Simulator

Cách thứ hai là bạn chọn menu Xcode > chọn Open Develop Tool > iOS

Simulator Khi ấy iOS Simulator sẽ được khởi động

Hình 2.25 Mở iOS Simulator trong Menu

Mặc dù là một phần trong bộ công cụ của Xcode, nhưng iOS Simulator vẫn có thể tiếp tục hoạt động dù Xcode có bị đóng chương trình Do đó nếu bạn muốn thoát

hẳn iOS Simulator, bạn chọn menu iOS Simulator > chọn Quit iOS Simulator

Trang 37

Hình 2.26 Trong menu chọn Quit iOS Simulator

 Xoay màn hình iOS Simulator

Trong quá trình chạy ứng dụng trên iOS Simulator để kiểm thử, đôi lúc bạn cần

sử dụng tới chức năng xoay màn hình để có thể kiểm tra tính tương thích của ứng dụng với từng kiểu màn hình ( ngang, đứng…) hoặc để phù hợp với ứng dụng của bạn (chẳng hạn viết ứng dụng sử dụng màn hình ngang) Nếu là thiết bị thật, thật dễ dàng

để bạn có thể xoay màn hình cho phù hợp Tuy nhiên với iOS Simulator, bạn cần phải

sử dụng đến chức năng xoay màn hình được hỗ trợ sẵn để có thể xoay màn hình theo ý muốn

Bạn có thể vào menu Hardware > chọn Rotate Left nếu bạn muốn xoay qua trái ; chọn Rotate Right nếu bạn muốn xoay qua phải ; chọn Shake Gesture nếu bạn

Trang 38

chưa có chức năng ẩn bàn phím đi, lúc đó bạn cần sử dụng đến tính năng Keyboard

của iOS Simulator để ẩn/hiện bàn phím Bạn có thể vào menu Hardware > chọn

Simulate Hardware Keyboard

Hình 2.28 Ẩn/Hiện keyboard trong iOS Simulator

 Cài đặt và gỡ bỏ ứng dụng trên iOS Simulator

Ứng dụng trong iOS Simulator được cài đặt thông qua Xcode Khi bạn chạy ứng dụng bằng Xcode thì Xcode sẽ cài đặt ứng dụng đó vào iOS Simulator Cách thức

gỡ bỏ ứng dụng cũng giống như trên thiết bị iOS thật Bạn chỉ cần nhấp và giữ chuột (hoặc trackpad) trên biểu tượng của ứng dụng cho đến khi xuất hiện biểu tượng dấu x, bạn chỉ cần nhấp vào dấu x để gỡ bỏ ứng dụng Sau khi hoàn tất chỉ cần ấn Home để trở lại ban đầu

Trang 39

chọn mục Download Tại đây bạn lựa chọn phiên bản iOS cần cài đặt thêm và tải về

Hình 2.30 Tải thêm các iOS Simulator phiên bản cũ hoặc tài liệu

 Chụp ảnh màn hình iOS Simulator

Nếu bạn muốn chụp ảnh màn hình của iOS Simulator, bạn có thể lưu lại ảnh chụp màn hình của iOS Simulator lên màn hình của Mac OS Để làm việc đó, bạn chọn File > chọn Save Screen Shot, khi đó ảnh chụp màn hình sẽ được lưu trên màn hình Mac OS

Ngày đăng: 07/03/2024, 14:45

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

TÀI LIỆU LIÊN QUAN

w