Tải bản đầy đủ (.pdf) (190 trang)

phát triển ứng dụng cho thiết bị di động trên nền tảng ios

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (44.38 MB, 190 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC CẦN THƠ
KHOA CÔNG NGHỆ THÔNG TIN & TRUYỀN THÔNG

LUẬN VĂN TỐT NGHIỆP ĐẠI HỌC

NGÀNH MẠNG MÁY TÍNH & TRUYỀN THÔNG

Đề tài

PHÁT TRIỂN ỨNG DỤNG CHO THIẾT BỊ
DI ĐỘNG TRÊN NỀN TẢNG iOS

Sinh viên: Tô Thế Duy
Mã số: 1111381
Khóa: K37

Cần Thơ, 04/2015


BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC CẦN THƠ
KHOA CÔNG NGHỆ THÔNG TIN & TRUYỀN THÔNG
BỘ MÔN MẠNG MÁY TÍNH & TRUYỀN THÔNG

LUẬN VĂN TỐT NGHIỆP ĐẠI HỌC

NGÀNH MẠNG MÁY TÍNH & TRUYỀN THÔNG

Đề tài


PHÁT TRIỂN ỨNG DỤNG CHO THIẾT BỊ
DI ĐỘNG TRÊN NỀN TẢNG iOS

Người hướng dẫn
Ths. Đoàn Hoà Minh

Sinh viên thực hiện
Tô Thế Duy
Mã số: 1111381
Khóa: K37

Cần Thơ, 04/2015


LỜI CẢM ƠN
Tôi xin chân thành cảm ơn Bộ môn Mạng máy tính và truyền thông, Khoa
Công nghệ thông tin và truyền thông, trường Đại học Cần Thơ đã tạo điều kiện cho
tôi thực hiện đề tài này.
Để hoàn thành luận văn tốt nghiệp này, tôi xin tỏ lòng biết ơn sâu sắc đến
Thầy Ths. Đoàn Hoà Minh đã tận tình chỉ bảo và hướng dẫn trong suốt quá trình
thực hiện luận văn.
Tôi chân thành cảm ơn quý Thầy, Cô trong Khoa Công nghệ thông tin và
truyền thông, trường Đại học Cần Thơ đã tận tình truyền đạt kiến thức trong những
năm học qua. Với vốn kiến thức được tiếp thu trong quá trình học không chỉ là nền
tảng cho quá trình nghiên cứu luận văn mà còn là hành trang quý báu để tôi bước
vào đời một cách vững chắc và tự tin.
Tôi xin gửi lòng biết ơn sâu sắc đến cha mẹ, gia đình, bạn bè, những người
đã luôn bên cạnh, chăm sóc, ủng hộ, động viên tôi trong suốt thời gian học tập và
nghiên cứu.
Cuối cùng xin chúc tất cả mọi người dồi dào sức khoẻ và thành công hơn

nữa trong công việc của mình.
Trân trọng kính chào.
Cần Thơ, ngày 26 tháng 04 năm 2015
SINH VIÊN THỰC HIỆN

Tô Thế Duy


MỤC LỤC

 

PHẦN
 GIỚI
 THIỆU
 ..........................................................................................................
 1
 
1.
 Lý
 do
 chọn
 đề
 tài
 ................................................................................................................
 1
 
2.
 Lịch
 sử

 giải
 quyết
 vấn
 đề
 .................................................................................................
 2
 
2.1.
 Trên
 thế
 giới
 .................................................................................................................................
 2
 
2.2.
 Trong
 nước
 ....................................................................................................................................
 2
 
3.
 Mục
 tiêu
 đề
 tài
 ....................................................................................................................
 3
 
4.
 Đối

 tượng
 và
 phạm
 vi
 nghiên
 cứu
 ................................................................................
 3
 
5.
 Nội
 dung
 nghiên
 cứu
 ........................................................................................................
 3
 
6.
 Những
 đóng
 góp
 chính
 của
 đề
 tài
 .................................................................................
 4
 
7.
 Kết

 cấu
 của
 luận
 văn
 .........................................................................................................
 4
 

PHẦN
 NỘI
 DUNG
 .............................................................................................................
 5
 
CHƯƠNG
 1
 –
 MÔ
 TẢ
 BÀI
 TOÁN
 ..........................................................................................
 5
 
1.1.
 Định
 hướng
 nội
 dung
 và

 cách
 tiếp
 cận
 ....................................................................
 5
 
1.2.
 Hình
 thức
 và
 logic
 trình
 bày
 phần
 lý
 thuyết,
 chọn
 lựa
 nội
 dung.
 ...................
 6
 
1.3.
 Định
 hướng
 xây
 dựng
 các
 bài

 thực
 hành
 và
 cấu
 trúc
 của
 mỗi
 bài.
 ................
 7
 
CHƯƠNG
 2-­‐
 THIẾT
 KẾ
 VÀ
 THỰC
 HIỆN
 ............................................................................
 8
 
2.1.
 Giới
 thiệu
 về
 hệ
 điều
 hành
 iOS
 ..................................................................................

 8
 
2.1.1.
 Định
 nghĩa
 iOS
 ..........................................................................................................................
 8
 
2.1.2.
 Lịch
 sử
 hình
 thành
 ..................................................................................................................
 8
 
2.1.3.
 Kiến
 trúc
 của
 nền
 tảng
 iOS
 ..................................................................................................
 9
 
2.2.
 Giới
 thiệu

 ngôn
 ngữ
 lập
 trình
 trên
 nền
 tảng
 iOS
 ..............................................
 11
 
2.2.1.
 Objective-­‐C
 ..............................................................................................................................
 11
 
2.2.2.
 Swift
 ...........................................................................................................................................
 11
 
2.2.3.
 So
 sánh
 Objective-­‐C
 và
 Swift
 ...........................................................................................
 12
 

2.3.
 Giới
 thiệu
 về
 bộ
 công
 cụ
 Xcode
 và
 iOS
 Simulator
 .............................................
 13
 
2.3.1.
 Tìm
 hiểu
 bộ
 công
 cụ
 Xcode
 ..............................................................................................
 13
 
2.3.1.1.
 Giới
 thiệu
 về
 Xcode
 .....................................................................................................................

 13
 
2.3.1.2.
 Tìm
 hiểu
 giao
 diện
 Xcode
 và
 một
 số
 tính
 năng
 ...............................................................
 14
 

2.3.2.
 Tìm
 hiểu
 iOS
 Simulator
 .....................................................................................................
 21
 
2.3.2.1.
 Giới
 thiệu
 về
 iOS

 Simulator
 .....................................................................................................
 21
 
2.3.2.2.
 Một
 số
 hạn
 chế
 của
 iOS
 Simulator
 ........................................................................................
 23
 

2.4.
 Tiến
 trình
 phát
 triển
 một
 ứng
 dụng
 iOS
 ..............................................................
 23
 



2.5.
 Mô
 hình
 MVC
 .................................................................................................................
 24
 
2.5.1.
 Giới
 thiệu
 về
 mô
 hình
 MVC
 ..............................................................................................
 24
 
2.5.2.
 Ưu,
 nhược
 điểm
 của
 mô
 hình
 MVC
 ...............................................................................
 25
 
2.5.2.1.
 Ưu

 điểm
 ...........................................................................................................................................
 25
 
2.5.2.2.
 Nhược
 điểm
 ...................................................................................................................................
 25
 

2.6.
 Xây
 dựng
 một
 số
 ứng
 dụng
 iOS
 bằng
 Xcode
 .......................................................
 25
 
2.6.1.
 Xây
 dựng
 giao
 diện
 người

 dùng
 .....................................................................................
 25
 
2.6.1.1.
 Label
 –
 Button
 ..............................................................................................................................
 25
 
2.6.1.2.
 Text
 Field
 –
 Text
 View
 ..............................................................................................................
 26
 
2.6.1.3.
 Ứng
 dụng
 ExApp1
 :
 Nhập
 và
 hiển
 thị
 thông

 tin
 người
 dùng
 ....................................
 28
 
2.6.1.4.
 Bài
 thực
 hành
 1
 ............................................................................................................................
 29
 
2.6.1.5.
 Segmented
 Control
 –
 Switch
 –
 Slider
 .................................................................................
 29
 
2.6.1.6.
 Image
 View
 –
 Picker
 View

 .......................................................................................................
 31
 
2.6.1.7.
 Ứng
 dụng
 ExApp2
 :
 Game
 đua
 thú.
 ......................................................................................
 32
 
2.6.1.8.
 Bài
 thực
 hành
 2
 ............................................................................................................................
 33
 
2.6.1.9.
 View
 Controller
 –
 Table
 View
 Controller
 –

 Tab
 Bar
 Controller
 ..............................
 33
 
2.6.1.10.
 Ứng
 dụng
 ExApp3
 :
 Danh
 sách
 các
 đội
 bóng
 ................................................................
 35
 
2.6.1.11.
 Bài
 thực
 hành
 3
 .........................................................................................................................
 36
 

2.6.2.
 Lập

 trình
 hoạt
 động
 mạng
 ................................................................................................
 37
 
2.6.2.1.
 Web
 View
 –
 MapKit
 View
 ........................................................................................................
 37
 
2.6.2.2.
 Ứng
 dụng
 ExApp4
 :
 Trình
 duyệt
 Web
 đơn
 giản
 .............................................................
 38
 
2.6.2.3.

 Bài
 Thực
 Hành
 4
 ..........................................................................................................................
 39
 
2.6.2.4.
 Navigation
 Controller
 –
 Toolbar
 –
 Bar
 Button
 Item
 ....................................................
 40
 
2.6.2.5.
 Ứng
 dụng
 ExApp5
 :
 Giới
 thiệu
 thông
 tin
 trường
 Đại

 học
 Cần
 Thơ
 ........................
 40
 
2.6.2.6.
 Bài
 Thực
 Hành
 5
 ..........................................................................................................................
 41
 

2.6.3.
 Lập
 trình
 lưu
 trữ
 dữ
 liệu
 ...................................................................................................
 42
 
2.6.3.1.
 SQLite
 ...............................................................................................................................................
 42
 

2.6.3.2.
 Ứng
 dụng
 ExApp6
 :
 Đọc
 số
 nguyên
 từ
 1
 đến
 10
 ............................................................
 44
 
2.6.3.3.
 Bài
 Thực
 Hành
 6
 ..........................................................................................................................
 45
 

2.6.4.
 Lập
 trình
 với
 ngôn
 ngữ

 Swift
 ..........................................................................................
 45
 
2.6.4.1.
 Ứng
 dụng
 ExApp7
 –
 DrawPad
 ...............................................................................................
 45
 
2.6.4.2.
 Bài
 thực
 hành
 7
 ............................................................................................................................
 46
 
2.6.4.3.
 Ứng
 dụng
 ExApp8
 –
 Thay
 đổi,
 xoay,
 thu

 phóng
 hình
 ảnh
 với
 Gesture
 ................
 47
 
2.6.4.4.
 Bài
 Thực
 Hành
 8
 ..........................................................................................................................
 47
 

2.6.5.
 Tài
 liệu
 hướng
 dẫn
 ..............................................................................................................
 48
 
CHƯƠNG
 3
 –
 KIỂM
 THỬ

 VÀ
 ĐÁNH
 GIÁ
 .........................................................................
 49
 
3.1.
 Kiểm
 thử
 lý
 thuyết
 ......................................................................................................
 49
 
3.2.
 Kiểm
 thử
 các
 bài
 thực
 hành
 .....................................................................................
 50
 

PHẦN
 KẾT
 LUẬN
 ...........................................................................................................
 51

 
1.
 Kết
 quả
 đạt
 được
 ............................................................................................................
 51
 
2.
 Hướng
 phát
 triển
 ............................................................................................................
 51
 

TÀI
 LIỆU
 THAM
 KHẢO
 ................................................................................................
 52
 
PHỤ
 LỤC
 ..........................................................................................................................
 53
 



DANH MỤC HÌNH ẢNH
Hình 2.1. Kiến trúc hệ điều hành iOS ........................................................................ 9
 
Hình 2.2. Xcode phiên bản 6.3 trên App Store ........................................................ 13
 
Hình 2.3. Giao diện Xcode ...................................................................................... 14
 
Hình 2.4. Navigator area .......................................................................................... 15
 
Hình 2.5. Giao diện ứng dụng .................................................................................. 16
 
Hình 2.6. Giao diện code ......................................................................................... 16
 
Hình 2.7. Giao diện quản lý chi tiết ......................................................................... 17
 
Hình 2.8. Activity viewer ........................................................................................ 18
 
Hình 2.9. Utility area ............................................................................................... 18
 
Hình 2.10. Xcode nhận diện và cảnh báo lỗi ........................................................... 19
 
Hình 2.11. Bộ tài liệu hướng dẫn kèm theo Xcode.................................................. 20
 
Hình 2.12. Danh sách popup hiện ra ........................................................................ 20
 
Hình 2.13. iOS Simulator 8.2 – iPhone 6 ................................................................ 21
 
Hình 2.14. Các thiết bị iOS Simulator ..................................................................... 22
 

Hình 2.15. Bổ sung thêm các iOS Simulator và tài liệu trong Downloads ............. 23
 
Hình 2.16. Mô hình MVC ........................................................................................ 24
 
Hình 2.17. Label và một số tuỳ chỉnh ...................................................................... 25
 
Hình 2.18. Button và một số tuỳ chỉnh .................................................................... 26
 
Hình 2.19. Text Field và một số tuỳ chỉnh .............................................................. 27
 
Hình 2.20. Text View và một số tuỳ chỉnh .............................................................. 27
 
Hình 2.21. Ứng dụng ExApp1 ................................................................................. 28
 
Hình 2.22. Bài thực hành 1 ...................................................................................... 29
 
Hình 2.23. Segmented Control và một số tuỳ chỉnh ................................................ 29
 
Hình 2.24. Switch và một số tuỳ chỉnh .................................................................... 30
 
Hình 2.25. Slider và một số tuỳ chỉnh ..................................................................... 30
 
Hình 2.26. Image View và một số tuỳ chỉnh ........................................................... 31
 
Hình 2.27. Picker View và một số tuỳ chỉnh ........................................................... 31
 
Hình 2.28. Ứng dụng ExApp2 ................................................................................. 32
 
Hình 2.29. Bài thực hành 2 ...................................................................................... 33
 

Hình 2.30. View Controller và một số tuỳ chỉnh ..................................................... 33
 


Hình 2.31. Table View Controller và một số tuỳ chỉnh ........................................... 34
 
Hình 2.32. Tab Bar Controller và một số tuỳ chỉnh ................................................ 34
 
Hình 2.33. Các Controller khác trong Xcode .......................................................... 35
 
Hình 2.34. Tab Premier League khi chạy thử ứng dụng .......................................... 36
 
Hình 2.35. Bài thực hành 3 ...................................................................................... 37
 
Hình 2.36. Web View và một số tuỳ chỉnh .............................................................. 37
 
Hình 2.37. MapKit View và một số tuỳ chỉnh ......................................................... 38
 
Hình 2.38. Ứng dụng ExApp4 ................................................................................. 39
 
Hình 2.39. Bài thực hành 4 ...................................................................................... 39
 
Hình 2.40. Navigation Controller và một số tuỳ chỉnh ............................................ 40
 
Hình 2.41. Toolbar và một số tuỳ chỉnh .................................................................. 40
 
Hình 2.42. Ứng dụng ExApp5 ................................................................................. 41
 
Hình 2.43. Bài Thực Hành 5 .................................................................................... 42
 

Hình 2.44. Mở SQLite Manager trong trình duyệt Firefox ..................................... 43
 
Hình 2.45. Giao diện SQLite Manager .................................................................... 44
 
Hình 2.46. Ứng dụng ExApp6 ................................................................................. 44
 
Hình 2.47. Giao diện bài thực hành 6 ...................................................................... 45
 
Hình 2.48. Ứng dụng ExApp7 ................................................................................. 46
 
Hình 2.49. Bài thực hành 7 ...................................................................................... 46
 
Hình 2.50. Ứng dụng ExApp8 ................................................................................. 47
 


DANH MỤC BẢNG
Bảng 1. Ý kiến nhận xét kiểm thử lý thuyết ............................................................ 49
 
Bảng 2. Ý kiến nhận xét kiểm thử các bài thực hành .............................................. 50
 


TÓM TẮT
Ngày nay, thiết bị di động cùng với các nền tảng di động đi kèm với nó ngày
càng phát triển và trở nên phổ biến với mọi người, mang lại nhiều lựa chọn hơn cho
người dùng cũng như các nhà phát triển ứng dụng. iOS và Android là hai nền tảng
di động phổ biến nhất hiện nay. Trong đó iOS là một nền tảng có tính bảo mật cao,
hoạt động hiệu quả, sở hữu các ứng dụng chất lượng và có sự hỗ trợ tối đa cho
người dùng lẫn các nhà phát triển ứng dụng. Nhu cầu tìm hiểu và học tập về lập

trình ứng dụng trên nền tảng này đang là một xu hướng mới đầy hứa hẹn trong
tương lai.
Khoa Công nghệ thông tin và Truyền thông trường Đại học Cần Thơ đã tiếp
cận với việc lập trình ứng dụng cho thiết bị di động từ năm 2010 nhưng đến nay chủ
yếu vẫn chỉ dạy lập trình phát triển ứng dụng trên nền tảng J2ME và Android. Để có
tài liệu tham khảo cho việc dạy và học lập trình phát triển ứng dụng cho thiết bị di
động chạy trên nền tảng iOS, tôi đã chọn đề tài “Phát triển ứng dụng cho thiết bị di
động trên nền tảng iOS”.
Mục tiêu nghiên cứu của đề tài là cung cấp một tài liệu hỗ trợ cho người mới
bắt đầu học lập trình phát triển ứng dụng cho các thiết bị di động chạy trên nền tảng
iOS, có thể dùng để tham khảo trong các trường cao đẳng và đại học.
Nội dung chính của báo cáo này được chia thành ba phần như sau :
- Phần giới thiệu : Giới thiệu bối cảnh, lý do chọn đề tài cũng như đối tượng
và phạm vi nghiên cứu, nội dung nghiên cứu và những đóng góp chính của đề tài.
- Phần nội dung : Giới thiệu về nền tảng iOS, ngôn ngữ lập trình được sử
dụng, bộ công cụ hỗ trợ lập trình Xcode và iOS Simulator. Trình bày cơ sở lý
thuyết căn bản theo các chủ đề và xây dựng các bài thực hành cơ bản tương ứng với
các chủ đề.
- Phần kết luận : Trình bày kết quả đạt được và hướng phát triển sắp tới của
đề tài.


ABSTRACT
Nowsaday, mobile device together with mobile platforms are growing and
becoming popular with everyone, bringing more options for users and application
developers. iOS and Android are two most popular mobile platforms today. In that,
iOS is a platform with high security, efficient operation, high quality applications
and obtain maximum support for users and application developers. The need to
learn about applications programming on this platform is a promising new trend in
future.

Faculty of Information Technology and Communications of Can Tho
University has access to the application programming for mobile device since 2010
but until now,it mainly taught programmer application development platform J2ME
and Android. For references for teaching and learning application development
programming for mobile device running on iOS platform, I have chosen the theme
"Developing applications for mobile device based on iOS”.
The goal of this research is to provide a support document for beginner
programmers to develop applications for mobile device running on iOS,
additionally, it can be used for reference in colleges and universities.
Main content of this report is divided into three parts as below:
- Introduction: Introduction context, reasons to choose a subject and object
and scope of the research, research content and the main contributions of the thesis.
- The Content: Introduction to iOS platform, programming language used,
the toolkit supporting Xcode and the iOS Simulator programming. Presenting basic
theoretical background on topics and build the basic exercises that correspond to the
theme.
- Conclusion: Present results and guide future development of the subject.


Phát triển ứng dụng cho thiết bị di động trên nền tảng iOS

PHẦN GIỚI THIỆU
1. Lý do chọn đề tài
Ngày nay, các từ “smartphone”, “tablet” đã không còn xa lạ với người dân
Việt Nam. Theo số liệu thống kê của Hãng nghiên cứu thị trường GfK đã công bố
ngày 5/6/2014 về thị trường smartphone Đông Nam Á quý I/2014, với tốc độ tăng
trưởng 59%, Việt Nam trở thành quốc gia có tốc độ tăng trưởng smartphone nhanh
thứ 2 Đông Nam Á, chỉ sau Indonesia. [1]
Cuốn theo sự tăng trưởng của smartphone, đó là sự phát triển của các Hệ
điều hành chạy trên smartphone, cũng như số lượng ứng dụng cho các hệ điều hành

này. Trong đó Android với thị phần 84,7%, iOS 11,7%, Windows Phone 2.5% là
những Hệ điều hành chạy trên smartphone phổ biến nhất thế giới hiện nay ( Theo số
liệu quý 2/2014 của Hãng nghiên cứu thị trường IDC ). Về ứng dụng cho thiết bị di
động, dựa trên dữ liệu từ Công ty phân tích App Annie năm 2014 cho thấy, số
lượng ứng dụng trên Google Play là hơn 1,4 triệu ứng dụng, còn đối với App Store
của Apple là 1,2 triệu ứng dụng. So với năm 2012, số lượng ứng dụng trên Google
Play chỉ có hơn 700.000 và trên App Store của Apple là 775.000 thì sau 2 năm, tốc
độ phát triển của các kho ứng dụng này tăng nhanh đến chóng mặt. Nhu cầu sử
dụng của người dùng ngày càng đa dạng, đội ngũ phát triển ứng dụng cũng ngày
càng cho ra nhiều ứng dụng hơn để cạnh tranh. Với sự phát triển đó, nhu cầu tìm
hiểu về lập trình ứng dụng cho các hệ điều hành cũng tăng dần, đặc biệt là đối với
các bạn sinh viên còn đang ngồi trên ghế nhà trường, luôn mang trong mình nhiệt
huyết, khát khao khám phá công nghệ mới.
Tuy nhiên, việc tìm hiểu cũng như tham gia các lớp học về lập trình ứng
dụng trên các thiết bị di động hiện nay còn nhiều hạn chế và khó khăn. Đặc biệt là
các lớp dạy lập trình ứng dụng trên nền tảng iOS. Ngay cả Khoa Công nghệ thông
tin & Truyền thông Đại học Cần Thơ là một khoa đi đầu trong lĩnh vực đào tạo,
nghiên cứu khoa học về CNTT & TT tuy đã đưa học phần lập trình cho các thiết bị
di động vào chương trình đào tạo bậc Đại học từ năm 2010 nhưng đến nay chủ yếu
vẫn chỉ dạy lập trình phát triển ứng dụng trên nền tảng J2ME và Android, nội dung
lập trình ứng dụng trên iOS theo kế hoạch sẽ được đưa vào giảng dạy từ năm 2016.
Để có tài liệu tham khảo cho việc dạy và học lập trình phát triển ứng dụng
cho thiết bị di động chạy trên nền tảng iOS, tôi đã chọn đề tài “Phát triển ứng
dụng cho thiết bị di động trên nền tảng iOS”.

GVHD :
Ths. Đoàn Hoà Minh

SVTH : a
Tô Thế Duy


Trang 1


Phát triển ứng dụng cho thiết bị di động trên nền tảng iOS

2. Lịch sử giải quyết vấn đề
2.1. Trên thế giới
Hiện nay, nhiều trường Đại học trên thế giới, tiêu biểu là các trường Đại học
ở Mỹ đã có những nhóm nghiên cứu liên quan đến vấn đề xây dựng và phát triển
ứng dụng trên các thiết bị di động nói chung và iOS nói riêng. Thông qua việc
nghiên cứu đó, nhiều tài liệu hướng dẫn cũng đã được soạn thảo hỗ trợ cho những
người muốn trở thành nhà phát triển ứng dụng cho thiết bị di động chạy trên nền
tảng iOS như:
- Head First iPhone And iPad Development, 2nd edition (O’Reilly - 2011).
- iPhone Application Programming (RWTH Aachen University 11/10/2012).
- iOS 6 Application Development for Dummies (Neal Goldstein - Dave
Wilson - 2013).
- Coding Together: Developing iOS 6 (Standford University - 15/1/2013).
- Programming iOS 6, 3rd Edition (Matt Neuburg – 3/2013).
- Developing iOS 7 Apps for iPhone and iPad (Standford University 28/10/2013).
Mặc dù đây đều là những tài liệu được viết bằng tiếng Anh nhưng giới hạn
về ngôn ngữ hiện nay cũng đã không còn ảnh hưởng nhiều đến việc nghiên cứu nữa.
Đa phần những lập trình viên đều được trang bị cho mình một số vốn kiến thức về
ngoại ngữ, đặc biệt là tiếng Anh để có thể tiếp cận một cách nhanh chóng với sự
phát triển của công nghệ thông tin hiện nay.
2.2. Trong nước
Tại Việt Nam cũng đã có nhiều nghiên cứu về lập trình thiết bị di động trên
iOS, nhưng đa phần là tập trung vào việc phát triển một ứng dụng cụ thể. Tuy nhiên
cũng có một số nhóm nghiên cứu đã chủ động viết tài liệu hướng dẫn thông qua

việc dịch và biên soạn lại từ các tài liệu tiếng Anh đã có trước đó, giúp cho các lập
trình viên Việt Nam dễ dàng tiếp cận hơn với việc lập trình cũng như xây dựng các
ứng dụng trên iOS. Tiêu biểu là các nghiên cứu :
- Xây dựng ứng dụng tìm kiếm đa phương tiện trên điện thoại iPhone – Đồ
án tốt nghiệp (An Thị Hồng - Đại Học Bách Khoa Hà Nội - 6/2010).
- Xây dựng hệ thống quản lý thông tin cá nhân trên iPhone (Trương Quốc
Phú - Đại Học Bách Khoa Hà Nội - 6/2010).
GVHD :
Ths. Đoàn Hoà Minh

SVTH : a
Tô Thế Duy

Trang 2


Phát triển ứng dụng cho thiết bị di động trên nền tảng iOS

- Nghiên cứu xây dựng ứng dụng cho hệ điều hành iOS – Đồ án tốt nghiệp
(Hoàng Kim Ngọc - Đại Học Dân Lập Hải Phòng - 7/2012).
- Tài liệu hướng dẫn xây dựng ứng dụng iPhone ( Nhóm nghiên cứu Nguyễn
Anh Tiệp, Cao Thanh Vàng - 2013).

3. Mục tiêu đề tài
Mục tiêu nghiên cứu của đề tài là cung cấp một tài liệu hỗ trợ cho người mới
bắt đầu học lập trình phát triển ứng dụng cho các thiết bị di động chạy trên nền tảng
iOS, bao gồm phần cài đặt môi trường phát triển, giới thiệu ngôn ngữ lập trình, quy
trình phát triển phần mềm di động, cơ sở lý thuyết và các bài thực hành cơ bản. Tài
liệu có thể dùng để tham khảo trong các trường cao đẳng và đại học.
Đây cũng là cơ hội để tác giả củng cố kiến thức đã học, phát triển thêm kiến

thức mới, đồng thời rèn luyện kỹ năng thực hành và năng lực nghiên cứu.

4. Đối tượng và phạm vi nghiên cứu
- Đối tượng nghiên cứu :
Tài liệu về lập trình phát triển ứng dụng cho thiết bị di động chạy trên nền
tảng iOS bao gồm phần lý thuyết và thực hành.
Người mới học lập trình cho thiết bị di động, là sinh viên các trường cao
đẳng và đại học hoặc người mới bắt đầu với lĩnh vực này.
- Phạm vi nghiên cứu :
Phát triển ứng dụng cho thiết bị di động chạy trên nền tảng iOS chỉ bao gồm
các nội dung cơ bản : tạo giao diện tương tác người dùng, giao diện mức thấp, lập
trình hoạt động mạng, lập trình lưu trữ dữ liệu. Chưa đi sâu vào các lĩnh vực chuyên
biệt như trò chơi di động, tự động hoá, GPS và các dịch vụ dựa trên địa điểm, định
vị, ngân hàng, theo dõi, mua vé, các ứng dụng y tế di động, …

5. Nội dung nghiên cứu
Nội dung nghiên cứu bao gồm :
- Nghiên cứu về nền tảng iOS.
- Nghiên cứu và cài đặt môi trường phát triển ứng dụng iOS.
- Tìm hiểu cách lập trình bằng bộ công cụ Xcode của Apple.
- Xây dựng các cơ sở lý thuyết, các ứng dụng đơn giản và các bài thực hành
lập trình phát triển ứng dụng.
GVHD :
Ths. Đoàn Hoà Minh

SVTH : a
Tô Thế Duy

Trang 3



Phát triển ứng dụng cho thiết bị di động trên nền tảng iOS

6. Những đóng góp chính của đề tài
- Do một số yêu cầu đặc thù nên đề tài này mặc dù đã hình thành ý tưởng từ
lâu nhưng đến nay vẫn chưa được thực hiện, lý do sinh viên không có máy Mac
hoặc Hackintosh. Thêm vào đó Khoa CNTT&TT vẫn chưa được trang bị phòng
Thực hành mạng di động có loại máy này. Nghiên cứu này sẽ dành một phần để
giới thiệu về các phần mềm cần thiết và cách cài đặt để cho những người mới tiếp
cận có một hướng đi đúng đắn trong việc tạo một môi trường có khả năng lập trình,
xây dựng ứng dụng trên iOS.
- Bản thân của đề tài là tập tài liệu về lập trình phát triển ứng dụng cho thiết
bị di động chạy trên nền tảng iOS cho người mới bắt đầu, có thể phát triển thành
giáo trình phục vụ cho việc giảng dạy về lập trình ứng dụng các thiết bị di động trên
nền tảng iOS.
- Các ứng dụng được xây dựng để làm mẫu hoàn toàn có giá trị thực tiễn và
khả năng phát triển tiếp tục.

7. Kết cấu của luận văn
Luận văn được chia thành ba phần :
Phần mở đầu: Trình bày lý do chọn đề tài, tình hình nghiên cứu trong và
ngoài nước, mục tiêu và nội dung, phương pháp nghiên cứu của đề tài cũng như
những đóng góp mới và những mặt hạn chế của đề tài.
Phần nội dung:
Chương 1- Mô tả bài toán : Giới thiệu tổng quan về hệ điều hành iOS
cùng một số đặc điểm của hệ điều hành này và môi trường lập trình phát triển ứng
dụng trên thiết bị di động trên nền tảng iOS. Trong đó trình bày tổng quan về Xcode
và iOS Simulator, trình bày một số đặc điểm và tính năng của Xcode, iOS
Simulator cùng với 2 ngôn ngữ lập trình được sử dụng là Objective-C và Swift.
Chương 2- Thiết kế và thực hiện : Trình bày tiến trình phát triển một

ứng dụng iOS và mô hình MVC cùng với ưu, nhược điểm của mô hình này. Hướng
dẫn sử dụng các đối tượng cơ bản trong lập trình ứng dụng iOS để xây dựng một số
ứng dụng ví dụ mẫu và các bài thực hành cho sinh viên tự thực hiện.
Chương 3- Kiểm thử và đánh giá : Kết quả kiểm thử và đánh giá của
một số sinh viên sau khi đọc tài liệu và thực hiện các bài thực hành.
Phần kết luận: Trình bày những kết quả đạt được, kiến nghị về hướng
nghiên cứu phát triển tiếp theo của đề tài.
GVHD :
Ths. Đoàn Hoà Minh

SVTH : a
Tô Thế Duy

Trang 4


Phát triển ứng dụng cho thiết bị di động trên nền tảng iOS

PHẦN NỘI DUNG
CHƯƠNG 1 – MÔ TẢ BÀI TOÁN
1.1. Định hướng nội dung và cách tiếp cận
Với mục tiêu của đề tài là cung cấp một tài liệu hỗ trợ cho người bắt đầu học
lập trình phát triển ứng dụng cho các thiết bị di động chạy trên nền tảng iOS, tài liệu
có thể dùng để tham khảo trong các trường cao đẳng và đại học, chúng tôi đã định
hướng nội dung và phương thức tiếp cận như sau :
- Giới thiệu lịch sử ra đời và phát triển của nền tảng iOS và các ưu, nhược
điểm, các thuận lợi và khó khăn của nền tảng này.
- Hướng dẫn cài đặt môi trường phát triển, bao gồm :
+ Hệ điều hành Mac OS.
+ Bộ công cụ lập trình Xcode.

+ iOS Simulator.
- Giới thiệu ngôn ngữ lập trình, bao gồm 2 ngôn ngữ :
+ Objective-C.
+ Swift.
- Hướng dẫn quy trình phát triển phần mềm cho thiết bị di động từ hình
thành ý tưởng ban đầu cho đến phát hành ứng dụng, cách đưa ứng dụng đã xây
dựng bằng Xcode lên App Store.
- Trình bày cơ sở lý thuyết căn bản theo các chủ đề :
+ Lập trình xây dựng giao diện người dùng.
+ Lập trình hoạt động mạng.
+ Lập trình lưu trữ dữ liệu.
+ Lập trình giao diện mức thấp.
+ Lập trình tương tác Gesture.
- Xây dựng các bài thực hành cơ bản tương ứng với các chủ đề.

GVHD :
Ths. Đoàn Hoà Minh

SVTH : a
Tô Thế Duy

Trang 5


Phát triển ứng dụng cho thiết bị di động trên nền tảng iOS

1.2. Hình thức và logic trình bày phần lý thuyết, chọn lựa nội
dung.
Phần lý thuyết được trình bày theo các mảng sau :
- Giới thiệu về nền tảng iOS và môi trường lập trình phát triển ứng dụng cho

thiết bị di động chạy trên nền tảng iOS, bao gồm ngôn ngữ lập trình, bộ công cụ
Xcode, iOS Simulator và mô hình xây dựng ứng dụng iOS MVC.
- Giới thiệu về định nghĩa, cách sử dụng và một số tuỳ chỉnh của các đối
tượng trong ứng dụng iOS. Chủ yếu xoay quanh các đối tượng phục vụ cho lập trình
giao diện người dùng, hoạt động mạng, lưu trữ dữ liệu. Đây là những đối tượng
thường sử dụng nhất và được chọn lựa ra từ thư viện đối tượng của Xcode để giới
thiệu cho những người mới bắt đầu với lập trình di động trên nền tảng iOS có thể
làm quen và tiếp cận một cách nhanh chóng.
- Giới thiệu một số vấn đề liên quan đến việc xây dựng một ứng dụng iOS
như xây dựng CSDL với SQLite Manager, tìm hiểu về Gesture dành cho các thiết bị
di động, giúp cho người học sau một số bài thực hành có thể lựa chọn ngôn ngữ lập
trình thích hợp.
Logic trình bày phân thành các chương, mục từ thấp đến cao, có tính kế thừa.
Mỗi chương, mục có phần giới thiệu, hướng vận dụng trong lập trình, giải thuật, các
câu lệnh cơ bản với các đối số vào ra tương ứng, ví dụ minh hoạ.
Cấu trúc quyển tài liệu được trình bày theo thứ tự như sau :
Chương 1 : Nền tảng iOS và môi trường lập trình phát triển ứng dụng cho
thiết bị di động chạy trên nền tảng iOS.
1. Giới thiệu hệ điều hành iOS.
2. Giới thiệu ngôn ngữ lập trình trên nền tảng iOS.
3. Giới thiệu về bộ công cụ Xcode và iOS Simulator.
Chương 2 : Phát triển ứng dụng cho thiết bị di động chạy trên nền tảng iOS.
1. Tiến trình phát triển một ứng dụng iOS.
2. Mô hình MVC.
Chương 3 : Thực hành xây dựng một số ứng dụng iOS bằng Xcode.
1. Ứng dụng đầu tay Hello World.
2. Xây dựng giao diện người dùng.
3. Lập trình hoạt động mạng.
4. Lập trình lưu trữ dữ liệu.
5. Lập trình với ngôn ngữ Swift.

GVHD :
Ths. Đoàn Hoà Minh

SVTH : a
Tô Thế Duy

Trang 6


Phát triển ứng dụng cho thiết bị di động trên nền tảng iOS

1.3. Định hướng xây dựng các bài thực hành và cấu trúc của mỗi
bài.
Sau mỗi phần lý thuyết giới thiệu về các đối tượng trong ứng dụng iOS sẽ
trình bày một ứng dụng ví dụ mẫu hướng dẫn cách sử dụng các đối tượng vừa được
học để làm quen với việc xây dựng một ứng dụng có sử dụng các đối tượng này.
Với mỗi ứng dụng mẫu sẽ có các mục :
- Kiến thức cần nắm vững : Trình bày những kiến thức mà sinh viên hoặc
người mới bắt đầu học lập trình di động trên iOS cần củng cố, ôn luyện để chuẩn bị
cho việc xây dựng ứng dụng sắp hướng dẫn.
- Mô tả ứng dụng : Mô tả chức năng, cách thức hoạt động của ứng dụng và
liệt kê các đối tượng sẽ sử dụng trong ứng dụng.
- Mục tiêu cần đạt : Trình bày những mục tiêu về kiến thức, kỹ năng lập trình
mà sinh viên hoặc người mới bắt đầu học lập trình di động trên iOS cần đạt được
sau khi hoàn thành xây dựng ứng dụng ví dụ mẫu này.
- Xây dựng ứng dụng : Trình bày quá trình xây dựng ứng dụng theo các bước
kèm theo lời hướng dẫn và các hình ảnh minh hoạ.
Mỗi bài thực hành là một ứng dụng đơn giản nhưng hoàn chỉnh, phù hợp với
phần lý thuyết tương ứng. Mỗi bài thực hành tuy được hướng dẫn cụ thể nhưng vẫn
có những phần gợi ý để người học suy nghĩ sáng tạo, không chỉ làm theo hướng dẫn

một cách máy móc.
Bên cạnh những bài thực hành có hướng dẫn, chúng tôi có cho thêm bài làm
ở nhà để người học tự rèn luyện kỹ năng lập trình và củng cố kiến thức đã học.

GVHD :
Ths. Đoàn Hoà Minh

SVTH : a
Tô Thế Duy

Trang 7


Phát triển ứng dụng cho thiết bị di động trên nền tảng iOS

CHƯƠNG 2- THIẾT KẾ VÀ THỰC HIỆN
2.1. Giới thiệu về hệ điều hành iOS
2.1.1. Định nghĩa iOS
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 (gọi là iPhone OS), 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.
Giao diện người dùng của iOS dựa trên cơ sở thao tác bằng tay. Hệ điều
hành cho phép người dùng có thể tương tác với các thiết bị Apple thông qua rất
nhiều động tác bằng tay trên màn hình cảm ứng. [2]
Phiên bản mới nhất của iOS hiện nay là 8.3 ra mắt ngày 24 tháng 03 năm
2015, dành cho tất cả các thiết bị kể từ iPhone 4s, iPod 5, iPad 2 trở lên và hệ điều
hành này được xây dựng trên nền tảng OS X với phiên bản v10.10 trở lên.
2.1.2. Lịch sử hình thành
Hệ điều hành này được giới thiệu tại Hội nghị và Triển lãm Macworld diễn

ra vào tháng 1 năm 2007 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 riêng nên chỉ đơn giản 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ẽ cư xử như những ứng dụng
ban đầu trên iPhone”. Vào ngày 17 tháng 10 năm 2007, Apple thông báo một bộ
phát triển phần mềm đang được xây dựng và họ dự định “sẽ đưa nó đến tay của các
nhà phát triển vào tháng 2”. Ngày 6 tháng 3 năm 2008, Apple đã phát hành bản
dùng thử đầu tiên, cùng với một cái tên mới cho hệ điều hành, đó là “iPhone OS”.
Tháng 6 năm 2010, Apple đổi tên iPhone OS thành iOS. Nhãn hiệu “IOS”
(Internetwork Operating System) đã được Cisco dùng để đặt tên cho hệ điều hành
của mình. Để tránh các vụ kiện cáo, Apple đã xin giấy phép sử dụng nhãn hiệu iOS
từ Cisco.

GVHD :
Ths. Đoàn Hoà Minh

SVTH : a
Tô Thế Duy

Trang 8


Phát triển ứng dụng cho thiết bị di động trên nền tảng iOS

2.1.3. Kiến trúc của nền tảng iOS
Tương tự như kiến trúc cơ bản trong Mac OS X. Nhân của iOS được dựa
trên nhân của Mac cơ bản được tìm thấy trong hệ điều hành Mac OS X. Ở tầng cao
nhất, iOS hoạt động như một trung gian giữa phần cứng cơ bản và các ứng dụng
xuất hiện trên màn hình. Lớp trên cùng của nhân này là các lớp dịch vụ được sử
dụng để thực hiện các ứng dụng trên nền tảng này.

Kiến trúc của nền tảng iOS gồm 4 lớp sau : [3]

Hình 2.1. Kiến trúc hệ điều hành iOS
Ø Lớp Cocoa Touch nằm ở trên cùng và chứa các framework thường được
sử dụng bởi các nhà phát triển ứng dụng iPhone. Cocoa Touch chủ yếu được viết
bằng Objective-C, dựa trên các tiêu chuẩn Mac OS X Cocoa API và đã được mở
rộng, thay đổi để đáp ứng các nhu cầu của iPhone.
Lớp Cocoa Touch cung cấp các framework sau cho sự phát triển ứng dụng
iPhone :
- UIKit Framework.
- Map Kit Framework.
- Push Notification Service.
- Message UI Framework.
- Address Book UI Framework.
- Game Kit Framework.

GVHD :
Ths. Đoàn Hoà Minh

SVTH : a
Tô Thế Duy

Trang 9


Phát triển ứng dụng cho thiết bị di động trên nền tảng iOS

Ø Lớp Media : Vai trò của lớp này là cung cấp cho hệ điều hành iOS các
dịch vụ đa phương tiện như âm thanh, video, ảnh động và khả năng đồ họa. Cũng
như các lớp khác, Media cũng cung cấp các framework có thể được sử dụng khi

phát triển ứng dụng iPhone :
- Core Graphics Framework.
- Quatz Core Framework.
- OpenGL ES Framework.
- iPhone Audio Support.
- AV Foundation Framework.
- Core Audio Frameworks ( CoreAudio, AudioToolbox, AudioUnit ).
- Open Audio Library.
- Media Player Framework.
Ø Lớp Core Services cung cấp nhiều nền tảng để xây dựng các lớp ở phía
trên (Media, Cocoa Touch), bao gồm các framework sau :
- Address Book Framework.
- Core Data Framework.
- Core Foundation Framework.
- Foundation Framework.
- Core Location Framework.
- Store Kit Framework.
- SQLite Library.
Ø Lớp Core OS là lớp dưới cùng của mô hình iOS và là trực tiếp nằm trên
các thiết bị phần cứng. Lớp này cung cấp một loạt các dịch vụ bao gồm cả mạng
mức thấp, tiếp cận với các phụ kiện bên ngoài và các dịch vụ cơ bản của hệ điều
hành thông thường như quản lý bộ nhớ, xử lý tập tin hệ thống và các chủ đề :
- CFNetwork Framework.
- External Accessory Framework.
- Security Framework.
- System.

GVHD :
Ths. Đoàn Hoà Minh


SVTH : a
Tô Thế Duy

Trang 10


Phát triển ứng dụng cho thiết bị di động trên nền tảng iOS

2.2. Giới thiệu ngôn ngữ lập trình trên nền tảng iOS
2.2.1. Objective-C
Vào đầu những năm 1980, Brad J. Cox đã thiết kế ra ngôn ngữ ObjectiveC dựa trên ngôn ngữ SmallTalk-80. Có thể hình dung rằng Objective-C là ngôn
ngữ lập trình được đặt ở lớp trên của ngôn ngữ lập trình C truyền thống, điều này có
nghĩa rằng ngôn ngữ C được bổ sung thêm các thành phần mở rộng (extensions) để
hình thành nên một ngôn ngữ lập trình mới đó chính là Objective-C. Ngôn ngữ
Objective-C này cho phép chúng ta tạo và quản lý các đối tượng (Objects).
Từ năm 1988, Công ty NeXT Software nắm giữ bản quyền của ngôn ngữ
Objective-C này. Họ đã phát triển các bộ thư viện và cả môi trường phát triển cho
nó có tên là NEXTSTEP.
Năm 1994, NeXT Computer phối hợp với Sun Microsystems chuẩn hóa lại
NEXTSTEP trong bản đặc tả tên là OPENSTEP. Bản hiện thực của OPENSTEP
chính là GNUStep. Một hệ thống bao gồm cả Linux kenel và môi trường phát triển
GNUStep lúc đó được gọi là LinuxSTEP.
Đến năm cuối tháng 12 năm 1996, hãng Apple đã mua lại công ty NeXT
Software và môi trường NEXTSTEP/OPENSTEP đã trở thành thành phần cốt lõi
của hệ điều hành OS X mà Apple giới thiệu sau này. Phiên bản chính thức của môi
trường phát triển này do Apple giới thiệu ban đầu có tên là Cocoa. Bằng việc hỗ trợ
sẵn ngôn ngữ Objective-C, đồng thời tích hợp một số công cụ phát triển khác
như Project Builder (đây chính là tiền thân của Xcode) và Interface Builder, Apple
đã tạo ra một môi trường mạnh mẽ để phát triển ứng dụng trên MAC OS X.
Đến năm 2007, Apple tung ra bảng nâng cấp cho ngôn ngữ Objective-C và

gọi đó là Objective-C 2.0.
Objective-C là một ngôn ngữ hướng đối tượng được mở rộng từ C, ngôn ngữ
này được biên soạn để có thể xây dựng tất cả mọi thứ từ common line utilities đến
animated GUI ( giao diện người dùng đồ hoạ ) và các thư hiện hoàn chỉnh. Nó cũng
có thể tạo ra các công cụ để duy trì các framework lớn. Objective-C là ngôn ngữ
chính được Apple chọn để viết các ứng dụng cho hệ điều hành MAC, iPod và
iPhone. [4]
2.2.2. Swift
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. Swift được
mong đợi sẽ tồn tại song song cùng Objective-C, ngôn ngữ lập trình hiện tại dành
GVHD :
Ths. Đoàn Hoà Minh

SVTH : a
Tô Thế Duy

Trang 11


Phát triển ứng dụng cho thiết bị di động trên nền tảng iOS

cho các hệ điều hành của Apple. 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. Một tài liệu 500
trang về Swift cũng được phát hành tại WWDC, miễn phí trên iBooks Store.
Ngày 2 tháng 6, 2014, ứng dụng WWDC conference trở thành ứng dụng
Swift đầu tiên được phát hành. [5]
2.2.3. So sánh Objective-C và Swift
Objective-C là ngôn ngữ lập trình đã được phát triển trong một thời gian dài
và có một cộng đồng đông đảo lập trình viên sử dụng. Tạo điều kiện thuận lợi cho

việc học hỏi, tham khảo các tài liệu, demo, các Project đã phát triển trước đó cho
sinh viên.
Mặc dù ngôn ngữ Objective-C vẫn còn rất được ưa chuộng nhưng theo
Apple, Swift sẽ giúp phát triển ứng dụng nhanh hơn, dễ dàng hơn và trực quan hơn.
Những thay đổi sẽ giúp các nhà phát triển tạo ra các ứng dụng tuyệt vời một cách dễ
dàng và đẩy chúng ra thị trường với tốc độ nhanh nhất từ trước tới nay.
Swift hoạt động tương tự một phiên bản Objective-C đơn giản, với các lớp
đối tượng được đơn giản hóa, và các dòng mã được sắp xếp hợp lý. Với Swift, Các
nhà phát triển sẽ có môi trường runtime tương tự Objective-C, do vậy nó rất quen
thuộc và dễ quản lý.
Ngoài sự đơn giản và phương thức sắp xếp hợp lý hơn cho việc sáng tạo ứng
dụng, Xcode runtime được thực hiện trong thời gian thực cho Swift. Viết một dòng
mã và bạn sẽ nhận được kết quả trong thời gian thực, và hình ảnh cũng có thể được
xem từ bên trong IDE. Xcode cũng sẽ dựng các kịch bản thực hiện trong các ứng
dụng, vì vậy bạn cũng có thể quản lý tốt hơn một ứng dụng để tránh sự cố tràn bộ
nhớ.
Bằng cách cung cấp mã đơn giản hơn và IDE trực quan hơn, Apple đã sắp
xếp hợp lý quá trình tạo ứng dụng. Swift có thể làm việc liền mạch với Objective-C,
vì vậy các ứng dụng hiện tại có thể được cập nhật bằng Swift. Các nhà phát triển
cũng có thể sử dụng các công cụ hữu ích của Objective-C ngay chính trên Swift.
Tuy nhiên, với chương trình đào tạo của Khoa Công nghệ thông tin và truyền
thông trường Đại học Cần Thơ hiện nay chủ yếu là các ngôn ngữ lập trình C, C++,
C#, Java, ... thì Objective-C chính là ngôn ngữ gần gũi và dễ dàng tiếp cận nhất đối
với sinh viên.
Vì vậy trong phạm vi nghiên cứu của Luận văn này, các ứng dụng ví dụ mẫu
được xây dựng chủ yếu sử dụng ngôn ngữ Objective-C, tạo cảm giác quen thuộc khi
GVHD :
Ths. Đoàn Hoà Minh

SVTH : a

Tô Thế Duy

Trang 12


Phát triển ứng dụng cho thiết bị di động trên nền tảng iOS

lập trình cho sinh viên. Bên cạnh đó vẫn có một phần giới thiệu các ứng dụng được
xây dựng bởi ngôn ngữ Swift giúp sinh viên bước đầu tiếp cận và làm quen với
ngôn ngữ lập trình mới đầy hứa hẹn dành cho iOS và OS X này.

2.3. Giới thiệu về bộ công cụ Xcode và iOS Simulator
2.3.1. Tìm hiểu bộ công cụ Xcode
2.3.1.1. Giới thiệu về Xcode
Xcode là môi trường tích hợp (IDE) được Apple phát triển chạy trên hệ điều
hành Mac OS để các lập trình viên có thể phát triển phần mềm chạy trên hệ điều
hành Mac OS và iOS. Phiên bản đầu tiên của Xcode được phát hành vào năm 2003
và phiên bản mới nhất hiện nay là 6.3 được ra mắt ngày 08/04/2015 với các tính
năng mới được thêm vào như : bao gồm Swift 1.2 và các SDK cho OS X 10.10
Yosemite và iOS 8.3. Xcode được phát hành miễn phí cho người dùng Mac
download thông qua chợ ứng dụng App Store. [6]

Hình 2.2. Xcode phiên bản 6.3 trên App Store
GVHD :
Ths. Đoàn Hoà Minh

SVTH : a
Tô Thế Duy

Trang 13



Phát triển ứng dụng cho thiết bị di động trên nền tảng iOS

2.3.1.2. Tìm hiểu giao diện Xcode và một số tính năng
Giao diện làm việc của Xcode gồm có 5 phần chính :
- Toolbar.
- Editor area.
- Navigator area.
- Debug area.
- Utility area.

Hình 2.3. Giao diện Xcode
Ø Navigator area : cho phép quản lý ứng dụng hiệu quả bằng cách 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.

GVHD :
Ths. Đoàn Hoà Minh

SVTH : a
Tô Thế Duy

Trang 14


Phát triển ứng dụng cho thiết bị di động trên nền tảng iOS

Hình 2.4. Navigator area

Trong Navigator selector bar gồm một số button chính sau:
- Project Navigator (
): 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 (
- Debug Navigator (

): quản lý các thông báo lỗi, cảnh báo của ứng dụng.
): theo dõi quá trình debug ứng dụng.

ØEditor area : cho phép thiết kế giao diện, viết và sửa code cho ứng dụng.
Khi chọn tập tin storyboard bên Content area thì Editor area sẽ hiển thị giao diện
Interface Builder để 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.

GVHD :
Ths. Đoàn Hoà Minh

SVTH : a
Tô Thế Duy

Trang 15


×