Chương 1: Tìm Hiểu Hệ Điều Hành iOS Chương này sẽ tập trung giới thiệu về hệ điều hành IOS, về lịch sử, kiến trúc và các thành phần cốt lõi, chu kỳ sống của ứng dụng iOS, cơ chế truyền thông, quản lý giao diện. Hệ điều hành iOS 1.1 Giới thiệu iOS là hệ điều hành 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. Ngày 31 tháng 5, 2011, App Store của Apple chứa khoảng 500 000 ứng dụng iOS và được tải về tổng cộng khoảng 15 tỷ lần.
Trong quý 4 năm 2010, có khoảng 26% điện thoại thông minh chạy hệ điều hành iOS, sau hệ điều hành Android của Google và Symbian của Nokia. 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. Phiên bản mới nhất của iOS là 8.0 ra ngày 18 tháng 9 năm 2014, dành cho tất cả các thiết bị kể từ iPhone 4s, iPod 5, iPad 2 trở lên.
IOS viết tắt của từ Internetwork Operating System, là một hệ điều hành hoạt động trên phần cứng của router Cisco, nó điều khiển hoạt động định tuyến và chuyển mạch của một router Rên của hệ điều hành iOS thì gồm có 3 phần: aaaa-bbbb-cccc trong đó: - aaaa: dòng sản phẩm áp dụng hệ điều hành này - bbbb: các tính năng của iOS -cc: định dạng file iOS, nơi iOS chạy, kểu nén của iOS Ví dụ: tên một iOS: C3620-i-mz_113-8T1.bin Ứng dụng mạng xã hội địa điểm trên iOS. Tìm Hiểu Hệ Điều Hành iOS 17 1.2 Kiến trúc hệ điều hành iOS của apple Cấu trúc của iOS là cấu trúc tầng: Ở mức độ cao nhất, iOS hành động như là một mức trung gian giữa dưới phần cứng và ứng dụng bạn đã tạo .Ứng dụng không nói là nó nằm dưới phần cứng trực tiếp .Thay vì đó nó trao đổi với phần cứng thông qua các hệ thống chung .Những hệ thống chung đó làm cho dễ dàng để viết ra một cái ứng dụng làm việc phù hợp trên các thiết bị có những phần cứng khác nhau Sự thi hành của các công nghệ iOS có thể được nhìn thấy như là những tầng layer ,Những tầng đó được chỉ ra trong hình dưới.Những tầng thấp chứa đựng những dịch vụ cơ bản và công nghệ.Những tầng cao hơn được xây dựng trên những tầng thấp và cung cấp nhiều dịch vụ tinh vi và công nghệ. Khi bạn viết code, bạn nên sử dụng những công nghệ của các tầng cao trên các tầng dưới bất cứ lúc nào bạn có thể sử dụng. Những Frame work ở tầng cao cung cấp cách nhìn trừu tượng hướng đối tượng cho các kiến trúc của tầng thấp .Khái niệm trừu tượng dễ đang để viết code vì chúng làm giảm số lượng code mà bạn phải viết và đống gói các tính năng phức tạp .Bạn có thể sử dụng các công nghệ của tầng thấp , nếu họ có các tính năng không được bộc lộ ra ở các framework ở tầng cao Ứng dụng mạng xã hội địa điểm trên iOS.
Tìm Hiểu Hệ Điều Hành iOS 18 Các lớp dưới cùng là nền tảng của hệ điều hành phụ trách quản lý bộ nhớ, các file hệ thống, mạng các hệ điều hành nhiệm vụ và tương tác trược tiếp với các phần cứng Lớp Core OS: Lớp Core OS chứa những tính năng cấp thấp, các công nghệ khác được xây dựng dựa trên đó .Nếu bạn không sử dụng những công nghệ đó trực tiếp trong ứng dụng của bạn, có nhiều khả năng đã sử dụng những framework khác. Trong trường hợp bạn cần đồng ý một cách rõ ràng với vấn đề bảo mật hoặc giao tiếp với một phụ kiện phần cứng bên ngoài, bạn có thể làm như thế bằng cách sử dụng các framework trong lớp này. Lớp Core OS gồm các công nghệ: - Accelerate Framework - Core Bluetooth Framework -Generic Security Services Framework -Local Authentication Framework -Network Extension Framework -Security Framework -System -64-Bit Support Lớp Core Services: Nó chứa đựng các dịch vụ cốt lõi của hệ thống cung cấp cho các ứng dụng .Chủ yếu trong các dịch vụ này Đó là dịch vụ the Core Foundation và Foundation frameworks nó xác định loại hình cơ bản của tất cả các ứng dụng. Lớp này cũng chứa một số công nghệ hiện như location, iCloud, social media, and networking Ứng dụng mạng xã hội địa điểm trên iOS.
Tìm Hiểu Hệ Điều Hành iOS 19 Lớp Core Services gồm các công nghệ: -Collection -AddressBook -Networking -Files Access -SQLite -Core Location -Net Services -Threading -Preferences -URL Utilities Lớp Media: Cung cấp các dic vụ đa phương tiện.Nó bao gồm các thành phần sau: -Core Audio -OpenGL -Audio Mixing -Audio Recording -Video Playback -JPG, PNG, TIFF -PDF -Quartz Ứng dụng mạng xã hội địa điểm trên iOS. Tìm Hiểu Hệ Điều Hành iOS 20 -Core Animation -OpenGL ES Lớp Cocoa Touch: Lớp Cocoa Touch chứa framework quan trọng cho việc xây dựng các ứng dụng iOS. Những framework xác định sự xuất hiện của ứng dụng của bạn. Họ cũng cung cấp các cơ sở hạ tầng ứng dụng cơ bản và hỗ trợ cho các công nghệ then chốt như đa nhiệm, dựa trên cảm ứng đầu vào, đẩy các thông báo, và nhiều hệ thống dịch vụ cao cấp.
Khi thiết kế các ứng dụng của bạn, bạn nên điều tra các công nghệ trong lớp này đầu tiên để xem nếu họ đáp ứng nhu cầu của bạn. -Accelerometer -View Hierachy -Localization -Alert -Web View -People Picker -Image Picker -Controllers -Multi-Touchcontrols Ứng dụng mạng xã hội địa điểm trên iOS. Tìm Hiểu Hệ Điều Hành iOS 21 1.3 Cấu trúc của một ứng dụng iOS Suốt quá trình khởi động, hàm UIApplicationMain khởi tạo một số đối tượng chính, và bắt đầu chạy ứng dụng. Trái tim của mỗi ứng dụng iOS là đối tượng UIApplication, công việc của đối tượng này là làm cho hệ thống và các đối tượng khác trong ứng dụng trao đổi với nhau một cách dễ dàng linh hoạt.
Hình bên chỉ ra những đối tượng phổ biến thường gặp trong hầu hết các ứng dụng của IOS. Ứng dụng IOS sử dụng công nghệ model-view-controller Ứng dụng mạng xã hội địa điểm trên iOS. Tìm Hiểu Hệ Điều Hành iOS 22 Các đối tượng cơ bản bao gồm: UIApplication: Quản lý vòng lặp sự kiện và các hành vi mức cao khác. Thực tế ít sử dụng đối tượng này, và thường chỉ sử dụng khi muốn truy cập đối tượng app delegate.
App delegate: Là đối tượng có mặt trong mọi ứng dụng iOS và là duy nhất (shared instance). Bạn có thể dễ dàng truy cập đối tượng này bằng cách gọi: AppDelegate *delegate = [[UIApplication sharedApplication] delegate]; Đối tượng này chứa các method về trạng thái của ứng dụng. Nó thường được sử dụng để thiết lập khởi tạo cho ứng dụng (các biến, key, cấu trúc dữ liệu, etc). Documents và Data model: Đây là các custom objects, bạn có thể tạo ra khi khởi tạo ứng dụng hoặc tạo ra khi cần thiết.
Các đối tượng ViewControllers: Quản lý việc trình diễn nội dung ứng dụng trên màn hình. Đây là các đối tượng rất quan trọng vì những màn hình của ứng dụng iOS hầu hết là các ViewController. Một ViewController quản lý một đối tượng UIView và tất cả các subviews của nó. Khi được trình diễn, UIViewController hiển thị các views của nó bằng cách thêm chúng vào cửa sổ của ứng dụng (window).
Đối tựng UIWindow: Hầu hết các ứng dụng chỉ có một Window. Tuy nhiên cũng có những ứng dụng có nhiều Window (để tạo một số hiệu ứng) 1.4 Vòng lặp chính Main run loop quản lý tất cả các sự kiện có liên quan đến người dùng. Đối tượng UIApplication khởi tạo main run loop vào thời gian khởi động và dùng nó để quản lý các sự kiện và cập nhật nó trên giao diện. The main run loop thực hiện trên Ứng dụng mạng xã hội địa điểm trên iOS.
Tìm Hiểu Hệ Điều Hành iOS 23 luồng chính của ứng dụng. Hành vi đó đảm bảo rằng các sự kiện liên quan đến người sự dụng được sử lý tuần tự theo thứ tự mà họ đã nhận được.5 Các trạng thái của ứng dụng iOS Trạng thái Diễn tả Not running Ứng dụng chưa được khởi động hoặc bị hệ thống đóng Inactive Ứng dụng đang chạy ở foreground nhưng hiện tại không nhận sự kiện (có thể đang thực hiện code). Đây là trạng thái quá độ, trước khi chuyển sang một trạng thái khác Active Ứng dụng đang chạy ở foreground (ứng dụng hiện tại đang hiển thị) và sẽ nhận các event. Đây là trạng thái bình thường khi bạn đang mở và sử dụng ứng dụng Ứng dụng mạng xã hội địa điểm trên iOS.
Tìm Hiểu Hệ Điều Hành iOS 24 Background Ứng dụng ở trong background và đang thực thi mã nguồn. Hầu hết các ứng dụng đi vào trạng thái này trong thời gian ngắn trước khi bị kết thúc. Tuy nhiên, một ứng dụng đòi hỏi thêm thời gian thực thi có thể ở lâu hơn trong trạng thái này so với các ứng dụng khác (download, play music, etc). Một ứng dụng cũng có thể khởi động trực tiếp để đi vào trạng thái này.
Suspended Là trạng thái khi ứng dụng ở background nhưng không thực thi code, chẳng hạn khi bạn bấm vào nút Home để trở về màn hình chính của iPhone. Khi ở trong trạng thái này, ứng dụng được duy trì trong bộ nhớ nhưng không thực thi mã nguồn. Khi bộ nhớ sắp hết, một số ứng dụng trong trạng thái Suspended có thể bị đóng để nhường chỗ cho ứng dụng ở Foreground Ứng dụng mạng xã hội địa điểm trên iOS. Tìm Hiểu Hệ Điều Hành iOS 25 Dưới đây là minh hoạ cho iOS life cycle: Mỗi khi chuyển đổi trạng thái sẽ đi kèm với một lời gọi hàm trong đối tượng App delegate.
Cụ thể như sau: application:willFinishLaunchingWithOptions: Method đầu tiên được gọi khi khởi động ứng dụng. application:didFinishLaunchingWithOptions: Cho phép bạn thực hiện bất cứ khởi tạo nào trước khi ứng dụng hiển thị trên màn hình. applicationDidBecomeActive: Được gọi trước khi ứng dụng chuẩn bị trở thành ứng dụng foreground. applicationWillResignActive: Ứng dụng sẽ ra khỏi foreground.
applicationDidEnterBackground: Ứng dụng đã ra khỏi foreground và có thể kết thúc bất cứ lúc nào. Ứng dụng mạng xã hội địa điểm trên iOS. Tìm Hiểu Hệ Điều Hành iOS 26 applicationWillEnterForeground: Ứng dụng sẽ ra khỏi background và trở lại foreground nhưng vẫn chưa vào trạng thái active. applicationWillTerminate: Được gọi khi ứng dụng bị đóng.
Method này sẽ không được gọi khi ứng dụng vào trạng thái suspended.6 Vòng đời của UIViewController Thường thì mỗi màn hình trong ứng dụng iOS là một UIViewController. Đây là đối tượng cơ bản, và các ViewController khác đều phải kế thừa nó. Mỗi UIViewController quản lý một View và các subviews của nó.