iOS - Ứng dụng iPhone đầu tiên
Tạo ứng dụng đầu tiên
Bây giờ chúng ta sẽ tạo một ứng dụng xem một lần đơn giản (một ứng dụng trống) sẽ chạy trên trình mô phỏng iOS.
Các bước thực hiện như sau.
Step 1 - Mở Xcode và chọn Create a new Xcode project.
Step 2 - Chọn Single View Application.
Step 3 - Nhập tên sản phẩm, tức là tên ứng dụng, tên tổ chức và sau đó là số nhận dạng công ty.
Step 4 - Đảm bảo rằng Use Automatic Reference Countingđược chọn để tự động giải phóng tài nguyên được cấp phát khi nó vượt ra khỏi phạm vi. Bấm tiếp.
Step 5 - Chọn thư mục cho dự án và chọn tạo.
Step 6 - Bạn sẽ thấy một màn hình như sau -
Trong màn hình trên, bạn sẽ có thể chọn các hướng được hỗ trợ, cài đặt xây dựng và phát hành. Có một mục tiêu triển khai hiện trường, phiên bản thiết bị mà chúng tôi muốn hỗ trợ, hãy chọn 4.3, đây là mục tiêu triển khai tối thiểu được phép hiện tại. Hiện tại, chúng không bắt buộc và hãy tập trung vào việc chạy ứng dụng.
Step 7 - Bây giờ, chọn trình mô phỏng iPhone trong menu thả xuống gần nút Run và chọn run.
Step 8- Đó là nó; bạn đã chạy thành công ứng dụng đầu tiên của mình. Bạn sẽ nhận được một đầu ra như sau:
Bây giờ hãy thay đổi màu nền, chỉ để bắt đầu với trình tạo giao diện. Chọn ViewController.xib. Chọn tùy chọn nền ở phía bên phải, thay đổi màu sắc và chạy.
Trong dự án trên, theo mặc định, mục tiêu triển khai sẽ được đặt thành iOS 6.0 và bố cục tự động sẽ được bật. Để đảm bảo rằng ứng dụng của chúng tôi chạy trên các thiết bị chạy iOS 4.3 trở đi, chúng tôi đã sửa đổi mục tiêu triển khai khi bắt đầu tạo ứng dụng này, nhưng chúng tôi không tắt tính năng tự động bố cục.
Để vô hiệu hóa bố cục tự động, chúng ta cần bỏ chọn hộp kiểm tự động bố cục trong trình kiểm tra tệp của mỗi nib, tức là các tệp xib. Các phần khác nhau của IDE dự án Xcode được đưa ra trong hình sau (Lịch sự: Tài liệu dành cho người dùng Apple Xcode 4).
Trình kiểm tra tệp được tìm thấy trong thanh công cụ kiểm tra như được hiển thị ở trên và bố cục tự động có thể được bỏ chọn ở đó. Bố cục tự động có thể được sử dụng khi bạn chỉ muốn nhắm mục tiêu các thiết bị iOS 6. Ngoài ra, bạn sẽ có thể sử dụng nhiều tính năng mới như sổ tiết kiệm nếu bạn nâng mục tiêu triển khai lên iOS 6. Hiện tại, hãy sử dụng iOS 4.3 làm mục tiêu triển khai.
Mã của ứng dụng iOS đầu tiên
Bạn sẽ tìm thấy năm tệp khác nhau sẽ được tạo cho ứng dụng của bạn. Chúng được liệt kê như sau:
- AppDelegate.h
- AppDelegate.m
- ViewController.h
- ViewController.m
- ViewController.xib
AppDelegate.h
// Header File that provides all UI related items.
#import <UIKit/UIKit.h>
// Forward declaration (Used when class will be defined /imported in future)
@class ViewController;
// Interface for Appdelegate
@interface AppDelegate : UIResponder <UIApplicationDelegate>
// Property window
@property (strong, nonatomic) UIWindow *window;
// Property Viewcontroller
@property (strong, nonatomic) ViewController *viewController;
//this marks end of interface
@end
Important items in code -
AppDelegate kế thừa từ UIResponder xử lý các sự kiện iOS.
Triển khai các phương thức ủy quyền của UIApplicationDelegate, cung cấp các sự kiện ứng dụng chính như khởi chạy xong, sắp kết thúc, v.v.
Đối tượng UIWindow để quản lý và điều phối các chế độ xem khác nhau trên màn hình thiết bị iOS. Nó giống như chế độ xem cơ sở mà tất cả các chế độ xem khác được tải. Nói chung chỉ có một cửa sổ cho một ứng dụng.
UIViewController để xử lý luồng màn hình.
AppDelegate.m
// Imports the class Appdelegate's interface
import "AppDelegate.h"
// Imports the viewcontroller to be loaded
#import "ViewController.h"
// Class definition starts here
@implementation AppDelegate
// Method to intimate us that the application launched successfully
- (BOOL)application:(UIApplication *)application
didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
// Override point for customization after application launch.
self.viewController = [[ViewController alloc]
initWithNibName:@"ViewController" bundle:nil];
self.window.rootViewController = self.viewController;
[self.window makeKeyAndVisible];
return YES;
}
- (void)applicationWillResignActive:(UIApplication *)application {
/* Use this method to release shared resources, save user data,
invalidate timers, and store enough application state information
to restore your application to its current state in case it is
terminated later. If your application supports background
execution, this method is called instead of
applicationWillTerminate: when the user quits.*/
}
- (void)applicationWillEnterForeground:(UIApplication *)application {
/* Called as part of the transition from the background to the
inactive state. Here you can undo many of the changes made on
entering the background.*/
}
- (void)applicationDidBecomeActive:(UIApplication *)application {
/* Restart any tasks that were paused (or not yet started) while
the application was inactive. If the application was previously in
the background, optionally refresh the user interface.*/
}
- (void)applicationWillTerminate:(UIApplication *)application {
/* Called when the application is about to terminate. Save data if
appropriate. See also applicationDidEnterBackground:. */
}
- (void)applicationWillTerminate:(UIApplication *)application {
/* Called when the application is about to terminate. Save data if appropriate.
See also applicationDidEnterBackground:. */
}
@end
Important items in code -
Các đại biểu của ứng dụng UIA được định nghĩa ở đây. Tất cả các phương thức được định nghĩa ở trên là đại biểu ứng dụng giao diện người dùng và không chứa phương thức do người dùng xác định.
Đối tượng UIWindow được cấp phát để giữ ứng dụng được cấp phát.
UIViewController được cấp phát làm bộ điều khiển chế độ xem ban đầu của cửa sổ.
Để hiển thị cửa sổ, phương thức makeKeyAndVosystem được gọi.
ViewController.h
#import <UIKit/UIKit.h>
// Interface for class ViewController
@interface ViewController : UIViewController
@end
Important items in code -
Lớp ViewController kế thừa UIViewController, cung cấp mô hình quản lý chế độ xem cơ bản cho các ứng dụng iOS.
ViewController.m
#import "ViewController.h"
// Category, an extension of ViewController class
@interface ViewController ()
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
@end
Important items in code -
Hai phương thức được thực hiện ở đây được định nghĩa trong lớp cơ sở UIViewController.
Thực hiện thiết lập ban đầu trong viewDidLoad được gọi sau khi chế độ xem tải.
Phương thức didReceiveMemoryWarning được gọi trong trường hợp cảnh báo bộ nhớ.